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.