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
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.
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 .
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.