Jai configuré ma clé publique / privée, mais je ne sais pas où elle doit aller. Ces deux fichiers doivent-ils être placés dans ~/.ssh/
pour mon utilisateur?
Réponse
La clé privée reste à la maison. La clé publique se déplace:
- Placez votre clé privée dans
~/.ssh
(hôte local). Ce sera généralement~/.ssh/id_rsa
. - Placez votre clé publique dans
~/.ssh/authorized_keys
(hôte distant).
Alors que la première étape est généralement effectuée automatiquement lorsque vous créez le clé, la seconde peut être accomplie via:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Si vous avez une configuration résiduelle concernant lhôte distant, vous pourriez rencontrer des problèmes avec cela (échec de lauthentification ou « trop déchecs dauthentification » ). Pour résoudre ce problème, vous pouvez forcer ssh-copy-id
à utiliser lauthentification par mot de passe avec:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Bien sûr, o Une fois que vos clés sont correctement placées, il nest plus nécessaire de mot de passe:
$ ssh user@remotehost
Vous pouvez également ajouter une configuration SSH dans ~/.ssh/config
pour le rendre encore plus simple:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
Grâce à cela, vous pouvez simplement taper ce qui suit pour vous connecter à lhôte distant:
$ ssh [custom name for the remote machine]
Edit: si les deux machines (locale et distante) sont identiques, vous pouvez simplifier la procédure avec:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Ceci ajoutera votre clé publique au fichier authorized_keys
. Bien sûr, une autre façon de vous connecter en tant que quelquun dautre sur votre machine locale est dutiliser:
$ su [another user]
Cela vous fera économiser la transaction SSH là où vous nen aurez peut-être pas besoin . Sans mot de passe su
peut être configuré à laide de sudo
:
$ sudo -iu [another user]
ssh localhost
?~/.ssh/authorized_keys
localement. Pour cela, vous pouvez simplement utilisercat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
. Jai modifié ma réponse.-i
à votre première commande, pour que la commande entière ressemble à$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
.