SSH demande le mot de passe même si des clés privées sont disponibles, présentées au serveur et connues de lui

9

J'ai un bureau Ubuntu dans une machine VirtualBox et j'ai un comportement étrange avec le serveur openssh:

  • lorsque mon utilisateur n'est pas déjà connecté au serveur (première connexion ssh), il demande un mot de passe même si des clés privées sont disponibles (PuTTY + Pagent). Après cette première connexion, si j'ouvre une connexion secondaire ou une troisième connexion, elle se connecte avec les clés.
  • Si je ferme toutes les connexions et en ouvre une nouvelle, il demande le mot de passe.
  • Si j'ai laissé dire 4 connexions ouvertes et que je ferme la première (celle qui a demandé le mot de passe), la cinquième connexion sera ouverte avec les clés

Quelqu'un a déjà vu ça?

Merci pour le temps passé à aider

Cerber
la source

Réponses:

14

Comment le répertoire personnel de l'utilisateur est-il monté? Il semble que, pour une raison quelconque, le répertoire personnel de l'utilisateur ne soit pas disponible si l'utilisateur n'est pas connecté, de sorte que sshd ne peut pas trouver le fichier authorized_keys.

Jetez également un œil à /var/log/auth.log sur le serveur pour tous les messages.

Mise à jour: s'il est nécessaire de se connecter sans mot de passe, vous pouvez modifier le fichier sshd_config pour rechercher authorzied_keys dans un répertoire non chiffré. http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5

Je suppose que quelque chose comme ça fonctionnerait (non testé):

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

Cela devrait indiquer à sshd de vérifier les clés publiques à la fois dans l'emplacement non chiffré et dans celui chiffré. Consultez la page de manuel pour plus d'informations.

cjc
la source
Bonne idée !! Je pense que le répertoire utilisateur est crypté, donc ça pourrait être ça!
Cerber
Le répertoire personnel de l'utilisateur doit utiliser ecrypt ou quelque chose comme ça.
kzh
1
Ah, ce serait la cause, alors, puisque sshd ne peut pas décrypter le contenu du répertoire personnel.
cjc
1
@kzh: yup, a été brûlé par ça une fois avec Ubuntu Desktop. Demande si vous souhaitez crypter le répertoire personnel (pourquoi pas?) Sans mentionner ssh. J'aurais dû mettre deux et deux ensemble, mais une simple "note: cela affectera SSH ..." aurait été utile.
gravyface
1
Si vous n'entrez pas votre mot de passe, comment votre répertoire personnel sera-t-il décrypté lorsque vous vous connecterez?
Random832