Si vous utilisez souvent le ssh, taper le mot de passe à longueur de journée c'est vraiment relou.
Donc je me fais ce tuto/post-it pour mettre en place une clé crypté pour vous connecter en ssh.

Préparation sur le PC host

On va générer notre clé publique via cette commande

ssh-keygen -t rsa -b 4096

On obtiens ceci :

Enter file in which to save the key (/home/user/.ssh/id_rsa):
on laisse vide

Enter passphrase (empty for no passphrase):
on met un super mot de passe autre que celui du PC distant

Une fois fait vous aller avoir dans ~ un dossier .ssh comprenant vos clé public et privé.

Envois des clé vers le PC distant

Maintenant on va envoyer nos clé vers le PC distant avec la commande suivante:

ssh-copy-id user@192.168.1.xx -p 22

*évidement on aura déjà un openssh tournant sur le pc distant et on adaptera la commande à la config de son serveur.

A ce moment là on devra mettre le mot de passe du pc distant et s'y connecter à la fin.

Configuration du PC distant

La configuration n'est pas finie ! On va se connecter (donc encore avec le mot de passe) et éditer la config openssh

sudo nano /etc/ssh/sshd_config

On modifiera

StrictModes no

Un restart du service

systemctl restart sshd.service

Et si tout c'est bien passé à la prochaine connexion ssh vous allez avoir la fenêtre du trousseau de clé du PC local qui va vous demander la passphrase du début. Vous l'entrez, la sauvegardez et hop plus besoin de taper de login !

Cette passphrase est importante, à mon avis, car si on met la mains sur votre .ssh/ elle cryptera encore l'accès à celui-ci. Il faudra néanmoins la taper une fois par session du PC local. Si vous ne voulez pas le faire, simplement laisser vide à l'étape de la création de la clé.