OpenSSH : Authentification via clé privée

OpenSSH Serveur 

OpenSSH permet une authentification beaucoup plus sécurisé qu’un simple contrôle de mot de passe. Il nous offre la possibilité de nous authentifier sans mot de passe, « juste » avec une clé privée / clé publique.

La clé privée chez nous permet l’authentification via la clé publique qui elle, est sur le serveur.

Générer une clé SSH privée / publique

Tout se déroule sur le poste client.

La commande ssh-keygen permet de générer ces clés.


sacha@debian:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/sacha/.ssh/id_rsa): 
Created directory '/home/sacha/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/sacha/.ssh/id_rsa.
Your public key has been saved in /home/sacha/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Z5HwtsNKQrNDUNFT3JO4UuckwsQ4GhJtcrTVvoLfRR8 sacha@debian
The key's randomart image is:
+---[RSA 2048]----+
|   .+o.+Ooo.o .  |
|   o =+o Bo=.*   |
|   =.o+o +=* .   |
|    .o oooooE    |
|    .+ S+*. .    |
|    . .+.+...    |
|      . o..      |
|        . .      |
|                 |
+----[SHA256]-----+

Envoyer la clé publique sur le serveur

On envoie directement la clé publique du client sur le serveur pour s’authentifier.

sacha@debian:~$ ssh-copy-id -i .ssh/id_rsa.pub sacha@debian
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
The authenticity of host 'debian (127.0.1.1)' can't be established.
ECDSA key fingerprint is SHA256:f/40qgo+GG/k2K0Pjn6x5yx4ssW3Dzi5RCVjX0H6oPY.
Are you sure you want to continue connecting (yes/no)? yes
Password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'sacha@debian'" and check to make sure that only the key(s) you wanted were added.

Connexion sur le serveur sans mot de passe

Il n’y a plus qu’à se connecter sur le compte SSH (sans mot de passe, on utilise directement la clé privée).

sacha@debian:~$ ssh sacha@debian
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 27 14:49:16 2016 from 127.0.0.1

Exemple d’utilisation du SSH sans mot de passe

Nous avons eu besoin d’envoyer des commandes remote sur le serveur, c’est-à-dire d’envoyer une commande via SSH pour qu’elle s’exécute sur le serveur.

Pour procéder ainsi, il faut supprimer la demande de mot de passe.

sacha@debian:~$ ssh -t sacha@debian "ls /home"
lost+found $RECYCLE.BIN sacha System Volume Information
Connection to debian closed.
Développeur Fullstack JEE, Front JS & Ionic 2, PHP 7 et AdminSYS

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *