Eu tenho uma configuração de servidor 12.10 em uma máquina virtual com sua rede configurada para ponte (essencialmente será vista como um computador conectado ao meu comutador).
Instalei o opensshd via apt-get
e consegui me conectar ao servidor usando o putty com meu nome de usuário e senha.
Comecei a tentar fazê-lo usar a autenticação de chave pública / privada. Eu fiz o seguinte:
- Gerou as chaves usando PuttyGen.
- Movida a chave pública para
/etc/ssh/myusername/authorized_keys
(estou usando diretórios pessoais criptografados). Configure
sshd_config
assim:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Quando eu me conecto usando o putty ou o WinSCP, recebo um erro dizendo Não há métodos de autenticação suportados disponíveis (chave pública do servidor enviada).
Se eu executar sshd
no modo de depuração, vejo:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
Por que isso está acontecendo e como posso corrigir isso?
Respostas:
Problema resolvido:
Parece que houve um problema com meu arquivo de chave pública. PuttyGen criará um arquivo de chave pública que se parece com:
No entanto, isso não funcionará, portanto, o que você precisa fazer é abrir a chave no PuttyGen e copiá-la a partir daí (isso faz com que a chave esteja no formato correto e em 1 linha):
Cole isso e, em
authorized_keys
seguida, ele deve funcionar.fonte
authorized_keys
no vi e removi todas as quebras de linha e funcionou./etc/ssh/sshd_config
arquivo.PasswordAuthentication
eChallengeResponseAuthentication
parayes
.3a. Reinicie o ssh
/etc/init.d/ssh restart
.OU
3b. melhor você usar
service sshd restart
fonte
PasswordAuthentication
comono
.ChallengeResponseAuthentication
, ele resolveu o problema para mim no Debian 10.0Espero que apenas uma dica ajude alguém com as dores de cabeça que tive. F21 está certo de que você precisa copiar a chave da janela PuTTYGen em vez de salvar o arquivo, mas após a cópia, a maneira como você cola pode ter um impacto significativo sobre se sua chave funcionará ou não. Alguns editores alteram o texto à medida que você cola, ou fazem algo com novas linhas ou algo que invalida o arquivo allowed_keys.
O que eu achei menos provável de quebrar é repetir a string completa e redirecionar a saída para o arquivo. Clicar com o botão direito do mouse em PuTTY para colar a cadeia de teclas na linha de comando, funciona da seguinte maneira (com o exemplo fornecido acima):
Você vai acabar com isso:
Outra vantagem desse método é que você pode adicionar várias chaves dessa maneira usando >> para acrescentar em vez de> para substituir, por exemplo:
Espero que ajude alguém.
fonte
Já estávamos usando o tipo certo de chave (ppk em vez de pem) ..
No nosso caso, houve um problema com as permissões de arquivo para o author_keys na pasta do usuário do servidor. Tem que ser -rw-r - r-- ... Era -rw-rw-r--
O ssh é muito exigente quanto às permissões de arquivo.
fonte
RESOLVIDO:
fonte
No meu caso, o motivo foi que o arquivo de chave privada (.ppk) foi removido no agente de autenticação Putty, ou seja, Pageant. Acabei de atualizar novamente para o concurso lá e a conexão funcionou perfeitamente depois disso.
fonte