informatique:ssh:start

SSH

Afin d'éviter de saisir systématiquement un login et un mot de passe pour se connecter à une machine distante, il est possible de ne rien saisir et tout cela de manière sécurisée. Le mécanisme d’authentification repose sur une clé publique et une clé privée. La connexion SSH validera votre clé avec celle que le serveur connait.

Fini les mots de passe complexe à gérer, fini le temps perdu dans la gestion des mots de passe de manière quotidienne. Cette méthode est totalement sûre et est utilisée par beaucoup de sysadmin et administrateur système. Les clés utilisées sont beaucoup plus robustes que n'importe quel mot de passe de votre création.

Si vous êtes plusieurs personnes à accéder au serveur, SSH permet de gérer un plusieurs clés afin que les utilisateurs puissent se connecter avec leurs propres clés. Si vous avec la gestion de plusieurs serveurs, vous pouvez utilisez cette clé dans tous les serveurs.

Je vous propose une démarche pas à pas pour créer un jeu de clés sur votre poste de travail. On va créer deux clés. La clé privée et la clé publique. Seule la clé publique sera à déployer sur les différents serveurs. La clé privée est à conserver précieusement dans votre ordinateur.

Démarrer un terminal.

<note important>Avant de générer un jeu de clés publique et privée, il faut vérifier qu'un jeu de clés ne soi pas déjà présent. En standard et sans précaution, la génération d'un nouveau jeu efface le précédent. Dans un des paragraphes plus bas, j'explique comment afficher une clé privée.</note>

Générer une clé SSH d'une longueur de 8192 bytes :

~$ ssh-keygen -b 8192

Modifier l'emplacement de la clé privée.

Enter file in which to save the key (/home/chloe/.ssh/id_rsa):

La partie privée de la clé doit être conservée précieusement, et son accès doit être limité aux personnes habilitées à l'utiliser.

Configurer une passphrase pour votre clé SSH. Les touches appuyées n'apparaitront pas à l'écran.

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

Il est recommandé de définir une passphrase afin de protéger la clé, n'hésitez pas à mettre un mot de passe fort (Majuscules / minuscules / chiffre / caractère spécial sur une longueur minimum de 8 digits)

Your identification has been saved in /home/chloe/.ssh/id_rsa.
Your public key has been saved in /home/chloe/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:I9SIjTYFSvmeTH+kuMQMSsUu8+xTOIi3x5ZYSuwCNFI chloe@cdell01
The key's randomart image is:
+---[RSA 8192]----+
|  o....          |
| .E+ = o         |
| .+.= + .        |
|.*.ooo  .        |
|=oBB.+.oS        |
|+.+=X.o...       |
|.+.Boo .         |
|. =o*            |
| . o.            |
+----[SHA256]-----+

Afficher la clé privée :

cat /home/chloe/.ssh/id_rsa

Afficher la clé publique :

cat /home/chloe/.ssh/id_rsa.pub

Ajouter la clé publique dans le fichier .ssh/authorized_keys, dans le dossier de l'utilisateur de connexion.

Par exemple, j'utilise la commande scp pour copier un fichier sur le serveur distant.

scp /home/chloe/.ssh/id_rsa.pub root@vps245469.ovh.net:/root/.ssh/authorized_keys

Vous pouvez ajouter autant de ligne que d'utilisateurs autorisés.

La clé de l'hote distante a changée :-(

Après avoir essayé d'effectuer un

ssh 192.168.100.5

, j'ai une erreur :

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
fa:f8:ec:af:20:0e:58:ca:d1:4d:47:b0:7e:fa:2b:e2.
Please contact your system administrator.
Add correct host key in /home/cedric/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/cedric/.ssh/known_hosts:5
ECDSA host key for 192.168.100.5 has changed and you have requested strict checking.
Host key verification failed.

Cela signifie que la clé ECDSA (ECDSA key) qui sécurise la connexion entre le client et l'hôte distante, et qui est stockée localement sur le client, n'est plus la même que la nouvelle clé de l'hôte distante. Cette clé ECDSA a été générée lors de la toute première connexion.

Dans ce cas, il faut réinitialiser l'entrée pour se connecter à cette hote.

Tant que la clé locale n'aura pas été effacée, la connexion à l'hote distante en SSH sera impossible. La clé est stockée dans un fichier nommé known_hosts qui se trouve dans le répertoire caché suivant .ssh de l'utilisateur. Par exemple :

 /home/cedric/.ssh/known_hosts

Pour réinitialiser la clé pour l'hote distante, il faut saisir :

ssh-keygen -R 192.168.100.5

Cela va suprimer du fichier /home/cedric/.ssh/known_hosts, l'enregistrement pour l'hote 192.168.100.5.

Il ne reste plus qu'à se connecter de nouveau :

ssh 192.168.100.5
Entrer votre commentaire. La syntaxe wiki est autorisée:
     __   _  __  ____  ______   _  __
 __ / /  / |/ / / __ \/_  __/  / |/ /
/ // /  /    / / /_/ / / /    /    / 
\___/  /_/|_/  \___\_\/_/    /_/|_/
 
  • Partager le signet (social bookmarking)
  • Partager "SSH" sur Reddit
  • Partager "SSH" sur blogmarks
  • Partager "SSH" sur Google
  • Partager "SSH" sur Facebook
  • Partager "SSH" sur Twitter
  • informatique/ssh/start.txt
  • Dernière modification: 2019/12/30 16:44
  • par Cédric ABONNEL