Um dos problemas mais comuns que vejo quando as pessoas tentam configurar a autenticação baseada em chaves é que elas se esquecem de adicionar a metade pública do par de chaves ao arquivo authorized_keys
.
Em server.example.com
, você gera o par de chaves público / privado -
user@server:~/ $ ssh-keygen -t rsa -f newkey.key
Defina a senha (ou não) conforme apropriado.
Em seguida, coloque a metade pública no arquivo authorized_keys
-
user@server:~/ $ cat ~/.ssh/newkey.key.pub >> ~/.ssh/authorized_keys
Em seguida, copie a metade privada da chave para a sua máquina cliente e você poderá se conectar -
user@client:~/ $ ls -1 .ssh
authorized_keys
config
newkey.key
user@client:~/ $ ssh -i ~/.ssh/newkey.key user@server
Editar por @Haxiel e @RubberStamp (e meu próprio) concordam que a chave privada não deve ser deixada no servidor que é usada para acessar.
CERTIFIQUE-SE DE REMOVER A CHAVE PRIVADA DO SERVIDOR PARA SER CONECTADO, a menos que você não tenha outra alternativa. Este é um problema de segurança que é muito fácil de evitar.
As chaves devem ser geradas na máquina local e a chave pública copiada para a máquina remota via scp ou ssh-copy-id ... sendo a última opção preferida, já que garante que a chave pública seja colocada corretamente na arquivo remoto ~ / .ssh / authorized_keys junto com as permissões apropriadas no arquivo