SSH solicita contraseña aunque las claves privadas estén disponibles, se presenten al servidor y sean conocidas por él

9

Tengo un escritorio ubuntu dentro de una máquina VirtualBox y tengo un comportamiento extraño con el servidor openssh:

  • cuando mi usuario aún no está conectado al servidor (primera conexión ssh), solicita una contraseña aunque las claves privadas estén disponibles (PuTTY + Pagent). Después de esa primera conexión, si abro una conexión secundaria o una tercera, se conecta con las teclas.
  • Si cierro todas las conexiones y abro una nueva, me solicita la contraseña.
  • Si he dejado decir 4 conexiones abiertas y cierro la primera (la que solicitó la contraseña), la quinta conexión se abrirá con las teclas

¿Alguien ya ha visto esto?

Gracias por el tiempo dedicado a ayudar.

Cerber
fuente

Respuestas:

14

¿Cómo se monta el directorio de inicio del usuario? Parece que, por cualquier razón, el directorio de inicio del usuario no está disponible si el usuario no está conectado, por lo que sshd no puede encontrar el archivo autorizado_claves.

Además, eche un vistazo a /var/log/auth.log en el servidor para cualquier mensaje.

Actualización: si es necesario iniciar sesión sin contraseña, puede cambiar el archivo sshd_config para buscar authorzied_keys en un directorio no cifrado. http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Supongo que algo como esto funcionaría (no probado):

AuthorizedKeysFile /etc/ssh/pubkeys/%u/authorized_keys .ssh/authorized_keys

Eso debería indicarle a sshd que busque claves públicas tanto en la ubicación no cifrada como en la cifrada. Consulte la página del manual para obtener más información.

cjc
fuente
Buena idea !! ¡Creo que el directorio de usuario está encriptado, así que podría ser!
Cerber
El directorio de inicio del usuario debe estar usando ecrypt o algo así.
kzh
1
Ah, esa sería la causa, ya que sshd no puede descifrar el contenido del directorio de inicio.
cjc
1
@kzh: sí, fue quemado por eso una vez con Ubuntu Desktop. Pregunta si desea cifrar el directorio de inicio (¿por qué no?) Sin mencionar ssh. Debería haber juntado dos y dos, pero una simple "nota: esto afectará a SSH ..." habría sido útil.
gravyface
1
Si no ingresa su contraseña, ¿cómo se descifrará su directorio de inicio cuando inicie sesión?
Random832