Isto é devido a um problema de login da DigitalOcean que pesquiseidepois de ler esta pergunta no site oficial de suporte da DigitalOcean. Eu estava recebendo rejeições com minha inicial:
ssh root@$IP_DO
No link acima, primeiro reduzi para:
ssh -o "IdentitiesOnly yes" -i ~/.ssh/id_rsa root@$IP_DO
Quando fiz o acima, ele pediu uma senha. Abri meu gerenciador de senhas e, com certeza, defini uma senha para essa chave. Entre e eu entrarei.
(Se for importante, inseri a chave pública quando configurei minha conta Digital Ocean e apenas a escolhi para criar o droplet).
Um pouco ssh-add ~/.ssh/id_rsa
, digitei a senha uma vez e agora a DigitalOcean não está mais solicitando uma senha.
Mas, mesmo antes de fazer o ssh-add acima, eu sempre poderia fazer ssh em VMs do Virtualbox em um servidor na minha LAN, sem problemas. Estas são VMs bitnami, aliás.
Em ambos os casos, DigitalO cean e VM ~/.ssh/authorized_keys
mostram a mesma coisa:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC35MyHYQPWgHgxOffs2oI4jAJCTSldYr1tMb/LMogbTXtQW35mSsWexiwYjPIcdkkOl2Zqrt43696U1oZco90ibkFrbbXrqDGZssbaqfqk7
…
E olhando para/etc/ssh/sshd_config
Oceano Digital:
egrep 'Authentication|PAM|Pass' /etc/ssh/sshd_config | grep -v '^#
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM yes
uname -rv
4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017
VM Bitnami
egrep 'Authentication|PAM|Pass' /etc/ssh/sshd_config | grep -v '^#'
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
uname -rv
3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)
Agora, lendo mais sobre esse tópico, é aconselhável executar ssh-add ~/.ssh/id_rsa
. Isso pediu a senha da chave.
Agora, tanto a DigitalOcean quanto a VM funcionam sem senha, mas estou curioso para saber por que a VM nunca precisou da senha e a DigitalOcean sim?
Responder1
OK, resolvi e tenho certeza de que sei o que aconteceu.
SSL tentará public_keys remotos armazenados emchaves_autorizadasvs chaves locais usando um sistema de desafio. Você realmente não sabe ou controla a sequência do que ele tenta.
A raiz da máquina1 (VM) ~/.ssh/authorized_keys
apontou para uma das minhas chaves que não estava protegida por senha, digamosGitHub. Também teveid_rsa, mas nunca perguntei sobre isso porque chegou antesid_rsa, usandoGitHub.
A raiz da máquina2 (Digitalocean) ~/.ssh/authorized_keys
não incluiu uma referência ao meu desprotegidoGitHubchave de identidade, então finalmente chegouid_rsa. Desde queid_rsaA identidade de não foi carregada no agente ssh e, como é protegida por senha, fui solicitada a senha.
Observe que isso contradiz minha afirmação de que as chaves autorizadas eram as mesmas. A entrada de id_rsa estava em ambos os arquivos, mas havia outras chaves públicas na VM Bitnami.