SSH vous permet de vous connecter à un serveur sans avoir besoin d'entrer un mot de passe.
Cela s'avère fort pratique lorsque vous utilisez un programme tel que scp, sftp, ou tout simplement lorsque vous voulez gagner du temps pour vous logger dans un shell distant.
Pour cela, ssh utilise un système de clés de chiffrement RSA.

Les différentes clés RSA

Le chiffrement RSA repose sur une paire de clés, l'une étant privée, l'autre publique.
En fait, dans cette méthode, on génèrera celles-ci sur le poste "client", on ajoutera la clé publique dans la liste des clés autorisées à se connecter sur le serveur, et la clé privée restera elle sur le poste client, et servira à "prouver" l'identité de celui-ci.
Dans ce cas précis, la personne possédant la clé privée aura accès au serveur sans avoir besoin d'un mot de passe. Ainsi, on fera attention à utiliser cette méthode sur une machine où seul la personne concernée aura accès à son compte utilisateur.

Il suffit de lancer la commande ssh-keygen depuis le shell du poste client, et de répondre aux questions.
Pour faire simple, on répondra seulement en appuyant sur la touche entrée à chaque fois. Vous remarquerez que le programme demande quel mot de passe sera utilisé pour crypter la clé de cryptage, et ainsi empêcher son utilisation par un tiers. Mais il faudra taper celui-ci à chaque fois qu'on utilisera la clé, un mot de passe en remplacant un autre.
Dans un prochain tutorial, on utilisera ssh-agent pour gérer le trousseau de clés et ainsi apporter une sécurité supplémentaire à celles-ci.

Le programme ayant terminé sa tâche, on se retrouve avec un dossier ~/.ssh/ contenant deux fichiers : id_rsa et id_rsa.pub.
Le premier constitue la clé privée, le deuxième la clé publique. Il est très important de conserver la clé privée à l'abri d'autres utilisateurs, puisqu'elle n'est pas protégée par un mot de passe, encore une fois.

Copie de la clé publique

On envoie ensuite la clé publique de la manière suivante : scp /cletemp
On se loggue ensuite sur le serveur, de manière classique : ssh loginSurLeServeur@adresse.du.serveur
Ensuite, on crée le dossier .ssh s'il n'existe pas encore : mkdir ~/.ssh
On ajoute ensuite le contenu de cletemp au fichier authorized_keys2 du dossier .ssh avec la méthode "append" du pipe sous bash :
cat .ssh/authorized_keys2

Le fichier authorized_keys2 constitue une liste des clés publiques autorisées à se connecter sur le serveur sans avoir à entrer de mot de passe.
Le détail de l'identification par échange de clé RSA fera (peut être ?) l'objet d'un prochain article ici même.