SSH clef entre 2 serveurs
Par PlaceOweb le lundi, août 5 2019, 20:57 - Système - Lien permanent
Comment s'authentifier sur un serveur depuis une clé SSH ?
Mon PC sous Windows à besoin de se connecter à des serveurs Linux.
Commandes passées avec Git Bash :
On génère les clés privée et publique avec ssh-keygen :
$ ssh-keygen -t rsa -b 4096 -C "ryzen@PC"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/ryzen/.ssh/id_rsa):
/c/Users/ryzen/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/ryzen/.ssh/id_rsa.
Your public key has been saved in /c/Users/ryzen/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3sRG9mCizNEw4IWRoMLhA/HBhO3Q89EhZvyW2BsYT9A ryzen@PC
The key's randomart image is:
+---[RSA 4096]----+
| .==.. |
|.oo.Eo. |
|++ =o*.o |
+----[SHA256]-----+
On copie le contenu de id_rsa.pub vers le serveur dans le home concerné
Depuis le fichier généré id_rsa.pub
C:\Users\ryzen\.ssh\id_rsa.pub
On copie la clé publique, et on crée ou complète sur le serveur les clés autorisées à se connecter au serveur en complétant le fichier (~/.ssh/authorized_keys2) du bon user (monuser) avec lequel on se connectera :
monuser@monserveur:~/.ssh# vim ~/.ssh/authorized_keys2
ssh-rsa AAAAB3NzaC1yc2.......contenu_de_la_clef_Gs+TYrRQ== ryzen@PC
Alternative : la méthode de copie de la clé publique vers le serveur qui nous autorisera à nous connecter
Comme le propose SSH : Authentification par clé, on peut déployer sur le serveur distant sa clé publique (id_rsa.pub) avec la commande ssh-copy-id (par mesure de sécurité, le script ajoute l'extension .pub au fichier d'identité si elle a été omise).
$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname
-f: force mode -- copy keys without trying to check if they are already installed
-n: dry run -- no keys are actually copied
-h|-?: print this help
$ ssh-copy-id -i ~/.ssh/id_rsa.pub monuser@150.80.40.10
On se connecte au serveur depuis l'ordinateur
$ ssh -p 22 monuser@150.80.40.10