Authentification SSH par clés
J’évoquais hier la nécessité de changer le port de votre serveur SSH, qui, en standard, écoute sur le Tcp/22. Et plutôt que de vous compliquer la vie à configurer très inutilement Fail2ban, vous seriez bien avisé à générer un jeu de clés privé et publique pour l’accès via SSH à votre serveur Linux en désactivant au passage la possibilité de vous authentifier par mot de passe !!! L’un ne va pas sans l’autre.
Générer les clés avec Putty
Sous Windows, vous disposez, avec PuTTY (préférez l’installeur) d’un client SSH de 1ère qualité que vous pourrez compléter à l’occasion avec WinSCP pour la copie de fichiers de machine à machine via les protocoles applicatifs SCP ou SFTP. Le logiciel qui vous permettra de générer le jeu est puttygen.exe (PuTTY key generator de son petit nom).
Cliquez sur le bouton Generate, en bas à droite de la boîte de dialogue.
Vous devez alors bouger la souris au niveau de la surface indiquée afin de générer votre jeu de clefs.
Pour la clé privée (fichier ppk), sauvegardez-la précieusement en local sur votre poste de travail. Quant à la clé publique, faites un copier/coller du texte à partir de la zone Public key for pasting into OpenSSH authorized_keys file dans un fichier texte que vous nommerez authorized_keys.
Transfert du fichier authorized_keys via WinSCP
Une fois généré comme indiqué ci-dessus, le fichier authorized_keys doit être transféré sur votre serveur via SCP ou SFTP dans le dossier /root/.ssh. Vous pouvez utiliser des logiciels comme FileZilla. Pour ma part, j’utilise WinSCP.
N’oubliez pas ensuite de restreindre les droits d’accès à ce répertoire caché. Faites un clic droit sur le répertoire /root/.ssh et choisissez dans le menu contextuel Propriétés.
N’oubliez pas de cocher les cases Ajouter X au répertoire et Appliquer récursivement.
Interdire l’authentification par mot de passe au niveau du serveur OpenSSH
Il faut maintenant éditer le fichier /etc/ssh/sshd_config et passer la directive PasswordAuthentication à no ! Rechargez le service SSH en exécutant, sous Fedora, systemctl reload sshd ou, sous CentOS/Red Hat, service sshd reload.
Utilisation de la clé privée dans PuTTY
Entrez le chemin de la clé ppk générée précédemment avec puttygen dans Connection -> SSH -> Auth -> Private key file for authentification.
Utilisation de la clé privée dans WinSCP
Dans WinSCP, cliquez sur le bouton Editer après avoir sélectionné votre session. Indiquez le chemin de la clé dans Fichier de clé privée.