bash: /home/user/.ssh/authorized_keys: aucun file ou directory de ce type

Créer une key ssh:

$ ssh-keygen -t rsa –P "" 

Déplacement de la key vers une key autorisée:

 $ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys bash: /home/user/.ssh/authorized_keys: No such file or directory 

 bash: /home/user/.ssh/authorized_keys: No such file or directory 

Un élément du path /home/user/.ssh/ n'existe pas; le shell ( bash ) vérifie la redirection ( >> ) avant d'exécuter la command ( cat ). Si /home/user existe et que vous essayez ceci:

 cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this 

Vous obtiendrez maintenant:

 cat: /home/user/.ssh/id_rsa.pub: No such file or directory 

Puisque ce file ne peut pas être à cet endroit, /home/user/.ssh/ n'existait pas pour commencer.

Vous suivez certaines instructions ayant éventuellement sauté quelques bits. Pour créer le directory:

 mkdir $HOME/.ssh chmod 700 $HOME/.ssh 

Cependant, id_rsa.pub ne sera pas disponible. Il sera partout où vous avez exécuté la command ssh-keygen en premier lieu.

Assurez-vous que vous êtes connecté en tant qu'user pour lequel vous souhaitez d'abord créer la key ssh (ou être prêt à modifier les paths de la command vers le bon directory personnel).

Ensuite, créez simplement le directory:

 mkdir ~/.ssh 

Créez le file en utilisant la command cat vous avez répertorié ci-dessus. Ensuite, n'oubliez pas de définir les permissions correctement:

 chmod 400 ~/.ssh/authorized_keys 

Vous pouvez vous assurer que le directory .ssh possède les permissions appropriées.

Si possible, j'encourage toujours les gens à utiliser l'outil de command line ssh-copy-id .

 $ ssh-copy-id -h Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine 

Si vous souhaitez simplement copyr votre key publique SSH par défaut sur un server distant, exécutez simplement la command suivante:

 $ ssh-copy-id user@remoteserver 

Je montre un exemple complet de la façon d'utiliser cet outil dans ce Q & A intitulé: Impossible de partager une connection ssh avec rsync .

Cela peut également échouer si, lors de la création de la key avec ssh-keygen , vous lui donnez un nom de file. J'ai entré un nom my-ssh-file-name nom my-ssh-file-name , et il a écrit la key de /Users/MyUserName au lieu du dossier .ssh . Si vous laissez le nom de file vide, il écrira dans .ssh comme prévu.