Estou tentando configurar a autenticação ssh com arquivos-chave em vez de nome de usuário / senha. O cliente é uma caixa do Windows executando o PuTTY e o servidor é um servidor Ubuntu 12.04 LTS.
Eu baixei o puttygen.exe e ele gerou um par de chaves. Em /etc/ssh/sshd_config
eu tenho esta linha:
AuthorizedKeysFile %h/.ssh/authorized_keys
e no arquivo de chave pública do meu cliente, diz o seguinte:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Copiei a parte de "ssh-rsa AAA" para "my@email.address.com" e coloquei isso no arquivo ~/.ssh/authorized_keys
no meu servidor (na minha própria pasta pessoal). No PuTTY, em Conexão> SSH> Autenticação, digitei o caminho para a chave privada gerada no meu cliente e salvei as configurações da sessão.
Eu reiniciei o servidor ssh com
sudo service ssh restart
Agora, se eu carregar o perfil no PuTTY (verifiquei que a chave privada ainda está em Connection> SSH> Auth e se o caminho está correto) e execute o perfil, ele diz
Server refused our key
Tentei colocar a chave pública em um arquivo no diretório, ./ssh/authorized_keys/
mas isso não ajudou, então usei ./ssh/authorized_keys
como arquivo , colando a chave nele. Também tentei gerar um par de chaves públicas / privadas no servidor, colocando a chave pública ./ssh/authorized_files
e carregando a privada no PuTTY no meu cliente. Reiniciar o servidor também não ajudou.
Descobri que o erro pode ser resolvido colocando a chave em um local fora da pasta pessoal do usuário, mas isso só será útil se a pasta pessoal estiver criptografada, o que não é o caso.
Também tentei gerar uma chave de 4096 bits, pensando que talvez 1024 fosse muito curto.
Como posso fazer isso funcionar? Obrigado!
EDITAR:
Ok, /var/log/auth.log
disse:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
O Google me diz que ~/.ssh/
deveria ter 700 e ~/.ssh/authorized_keys
600, então eu fiz isso. Agora /var/log/auth.log
diz:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
erroauth.log
?