web-dev-qa-db-fra.com

Bash: /Home/user/.ssh/AUHorized_keys: Aucun fichier ou répertoire de ce type

Créer une clé SSH:

$ ssh-keygen -t rsa –P ""

Déplacement de la clé à la clé autorisée:

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

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

Un élément du chemin /home/user/.ssh/ n'existe pas; La coquille (bash) vérifie la redirection (>>) Avant d'exécuter la commande (cat). Si /home/user existe-t-il et vous essayez ceci:

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

Vous aurez maintenant:

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

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

Vous suivez quelques instructions ayant éventuellement ignoré des bits. Pour créer le répertoire:

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

Toutefois, id_rsa.pub ne sera pas là. Ce sera partout où vous courez le ssh-keygen commande en premier lieu.

13
goldilocks

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

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

Si vous souhaitez simplement copier votre clé publique SSH par défaut sur une séquence distante, vous exécutez simplement la commande suivante:

$ ssh-copy-id user@remoteserver

Je montre un exemple complet de comment utiliser cet outil dans ce Q & A intitulé: Impossible de partager une connexion SSH avec RSYNC .

6
slm

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