2010-11-26 22:04:58 +0000 2010-11-26 22:04:58 +0000
411
411

Permissions sur la clé privée dans le dossier .ssh ?

J'ai changé mes permissions dans mon dossier .ssh et maintenant, lorsque j'utilise un logiciel qui utilise ma clé privée, je dois taper mon mot de passe à chaque fois. Quelles devraient être mes autorisations sur mon dossier id_rsa pour ne pas avoir à taper un mot de passe chaque fois que j'utilise un logiciel qui l'utilise ?

Actuellement, mes autorisations sont définies comme suit :

-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub 
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts

Réponses (4)

93
93
93
2015-06-09 20:39:45 +0000

J'ai lutté contre cela pendant une éternité et j'ai finalement compris ce qu'il fallait faire. Remplacez $USER partout par le nom d'utilisateur SSH auquel vous voulez vous connecter sur le serveur. Si vous essayez de vous connecter en tant que root, vous devrez utiliser /root/.ssh etc, au lieu de /home/root/.ssh qui est comme ça pour les utilisateurs non root.

  • Le répertoire home sur le serveur ne doit pas être accessible en écriture par d'autres personnes : chmod go-w /home/$USER
  • Le dossier SSH sur le serveur a besoin de 700 permissions : chmod 700 /home/$USER/.ssh
  • Le fichier Authorized_keys a besoin de 644 permissions : chmod 644 /home/$USER/.ssh/authorized_keys
  • Assurez-vous que user possède les fichiers/dossiers et non root : chown user:user authorized_keys et chown user:user /home/$USER/.ssh
  • Mettre la clé publique générée (de ssh-keygen) dans le fichier authorized_keys de l'utilisateur sur le serveur
  • S'assurer que le répertoire d'origine de l'utilisateur est défini comme vous l'attendez et qu'il contient le bon dossier .ssh que vous avez modifié. Si ce n'est pas le cas, utilisez usermod -d /home/$USER $USER pour corriger le problème
  • Enfin, redémarrez ssh : service ssh restart
  • Ensuite, assurez-vous que le client a les fichiers de clé publique et de clé privée dans le dossier .ssh de l'utilisateur local et connectez-vous : ssh user@host.com
37
37
37
2013-01-03 03:50:21 +0000

Assurez-vous également que votre répertoire personnel n'est pas accessible en écriture par d'autres utilisateurs.

chmod g-w,o-w ~

6
6
6
2010-11-26 22:07:13 +0000

Les autorisations ne devraient pas avoir de rapport avec cela. Votre clé privée est cryptée avec le mot de passe, vous devez donc l'entrer pour que la clé privée soit décryptée et utilisable.

Vous pouvez envisager de lancer un agent ssh, qui peut mettre en cache les clés décryptées et les fournir aux applications qui en ont besoin.

4
4
4
2014-04-17 20:20:44 +0000

Felipe est correct – le répertoire contenant votre répertoire .ssh ne doit pas être accessible en écriture par groupe ou autre. Ainsi, chmod go-w ~ est la prochaine chose logique à essayer si vous êtes toujours invité à entrer un mot de passe lors de ssh'ing après avoir lancé ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys, en supposant que vous n'assignez pas de phrase de passe dans la commande ssh-keygen, et que votre répertoire .ssh se trouve dans votre répertoire d'origine.

Questions connexes

6
10
12
8
10