Tenho uma pergunta sobre a autenticação de chave pública ssh. Gerei em uma máquina RHEL 9 um par de chaves - protegido por senha - da seguinte forma:
ssh-keygen -f .ssh/key2
Então, copiei a chave pub em um host remoto:
ssh-copy-id -i .ssh/key2.pub operator1@servera
Agora, quando tento a conexão ainda me pedem a senha da chave:
ssh -i .ssh/key2 operator1@servera
adicionar a opção -v durante a execução mostra que o servidor aceitou a chave:
No Kerberos credentials available (default cache: KCM:)
debug1: No credentials were supplied, or the credentials were unavailable or inaccessible
No Kerberos credentials available (default cache: KCM:)
debug1: Next authentication method: publickey
debug1: Offering public key: .ssh/key2 RSA SHA256:wzFYOSGEvzLSjgKe5EGlKXXuaWmFmG8E6gfxs2KG6Pg explicit
debug1: Server accepts key: .ssh/key2 RSA SHA256:wzFYOSGEvzLSjgKe5EGlKXXuaWmFmG8E6gfxs2KG6Pg explicit
então por que estou sendo solicitado a inserir a senha? Nota lateral: já concedi permissões para a pasta .ssh:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/key2
A senha SSH protege a chave secreta. Para usar a chave secreta, diretamente com
ssh
ou ao carregá-la em um agente SSH, você deve desbloqueá-la fornecendo a senha usada ao criar a chave.Se você não quiser fornecer uma senha ao usar
ssh
, carregue-a em um agente SSH já em execução usando, por exemplo,Isso solicitaria a senha da chave secreta uma vez , mas permitiria que você a usasse
ssh
para se conectar ao(s) host(s) remoto(s) apropriado(s) sem ter que digitar interativamente a senha novamente (até que o agente seja encerrado ou a chave seja removida do agente ).Nos comentários, parece que você acredita que, como a chave pública é copiada para o sistema remoto, não será necessário fornecer a senha da chave SSH. Você deve fornecer a senha da chave secreta sempre que necessário (ao conectar-se
ssh
sem o agente ou ao carregar a chave no agente). A chave pública precisa estar no sistema remoto para que você possa usar a autenticação de chave SSH, esteja a chave secreta protegida por uma senha ou não.