¿Por qué “ssh user@machine1” no requiere una frase de contraseña, pero “ssh root@machine2” sí?

¿Por qué “ssh user@machine1” no requiere una frase de contraseña, pero “ssh root@machine2” sí?

Esto es de un problema de inicio de sesión de DigitalOcean que investiguédespués de leer esta pregunta en el sitio de soporte oficial de DigitalOcean. Estaba recibiendo rechazos con mi inicial:

ssh root@$IP_DO

Desde el enlace anterior, primero lo limité a:

ssh -o "IdentitiesOnly yes" -i ~/.ssh/id_rsa root@$IP_DO

Cuando hice lo anterior, me pidió una frase de contraseña. Abrí mi administrador de contraseñas y, claro, ya había establecido una frase de contraseña en esa clave. Entra y ya estoy dentro.

(Si es importante, ingresé la clave pública cuando configuré mi cuenta de Digital Ocean y simplemente la elegí para la creación de mi gota).

Un poco de ssh-add ~/.ssh/id_rsa, ingresé la frase de contraseña una vez y ahora DigitalOcean ya no me pide una contraseña.

Pero, incluso antes de hacer el ssh-add anterior, siempre podía ingresar mediante ssh a las máquinas virtuales de Virtualbox en un servidor de mi LAN, sin ningún problema. Estas son máquinas virtuales bitnami, por cierto.

En ambos casos, DigitalO cean y VM ~/.ssh/authorized_keysmuestran lo mismo:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC35MyHYQPWgHgxOffs2oI4jAJCTSldYr1tMb/LMogbTXtQW35mSsWexiwYjPIcdkkOl2Zqrt43696U1oZco90ibkFrbbXrqDGZssbaqfqk7

y mirando/etc/ssh/sshd_config

Océano 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

Máquina virtual 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)

Ahora, leyendo más sobre ese hilo, recomendó ejecutar ssh-add ~/.ssh/id_rsa. Eso solicitó la frase de contraseña de la clave.

Ahora, tanto DigitalOcean como la VM funcionan sin frase de contraseña, pero tengo curiosidad por saber por qué la VM nunca necesitó la frase de contraseña y DigitalOcean sí.

Respuesta1

Bien, lo he resuelto y estoy bastante seguro de saber lo que pasó.

SSL intentará claves públicas remotas almacenadas enclaves_autorizadasvs claves locales usando un sistema de desafío. Realmente no sabes ni controlas la secuencia de lo que intenta.

La raíz de la máquina1 (VM) ~/.ssh/authorized_keysapuntó a una de mis claves que no estaba protegida con contraseña, por ejemplogithub. También teníaid_rsa, pero nunca pude preguntar sobre eso porque llegó antesid_rsa, usandogithub.

La raíz de machine2 (Digitalocean) ~/.ssh/authorized_keysno incluía una referencia a mi archivo desprotegidogithubclave de identidad, por lo que finalmente llegó aid_rsa. Desde esoid_rsaLa identidad de no se había cargado en el ssh-agent y como está protegida con una contraseña, me pidieron la contraseña.

Tenga en cuenta que esto contradice mi afirmación de que las claves autorizadas eran las mismas. La entrada de id_rsa estaba en ambos archivos, pero había otras claves públicas en la VM Bitnami.

información relacionada