web-dev-qa-db-fra.com

L'utilisateur distant SSH doit-il être connecté?

J'essaie de configurer un serveur SSH. Je mets ma clé publique dans le fichier allowed_keys, je m'assure que les autorisations sont correctes, etc.

Lorsque je redémarre le serveur (uniquement le bureau Ubuntu 12.04) et que je le ssh sans en me connectant pour la première fois sur le serveur, on me demande un mot de passe. Si, toutefois, je me connecte au serveur, je peux ssh sans me demander un mot de passe.

auth.log a ces lignes lorsque je ne me suis pas connecté au serveur actuel:

mordor sshd[1605]: debug1: trying public key file /home/buck/.ssh/authorized_keys
mordor sshd[1605]: debug1: Could not open authorized keys '/home/buck/.ssh/authorized_keys': No such file or directory
6
buck

Le problème se pose généralement si votre répertoire personnel est crypté. La solution habituelle consiste à placer vos clés dans un répertoire autre que votre répertoire personnel et à y diriger votre fichier sshd_config.

Par exemple:

  1. Déplacez votre fichier registered_keys sur le serveur de /home/buck/.ssh/authorized_keys à quelque chose comme /etc/ssh/keys/buck/authorized_keys
  2. définir les autorisations sur ce dossier et le fichier de clés: Sudo chown -R buck:buck /etc/ssh/keys/buck/ et chmod 700 /etc/ssh/keys/buck/ et chmod 600 /etc/ssh/keys/buck/authorized_keys
  3. Éditez /etc/ssh/sshd_config et changez la ligne AuthorizedKeysFile %h/.ssh/authorized_keys en AuthorizedKeysFile /etc/ssh/keys/%u/authorized_keys
  4. Sudo service ssh restart et vous devriez pouvoir vous connecter sans devoir vous connecter au serveur auparavant.
7
jeshurun