Afin de sécuriser la connexion entre votre serveur ssh et votre client, vous pouvez créer une clef public RSA ou DSA, puis forcer l’authentification par clef.
Comment faire ?
- Il y a différentes solutions pour parvenir au même résultat, mais nous allons traiter le cas qui me semble être le plus simple.
- Dans le terminal du serveur se connecter en utilisant l’utilisateur qui se connectera via SSH. Saisir la ligne de commande suivante pour générer une clef RSA (par défaut le nombre de bits est de 1024).
(-b Spécifie le nombre de bits de la clef à créer. Le minimum est 512 bits).
ssh-keygen -t rsa
- Le serveur demande à sauvegarder le fichier et comment le nommé, par défaut, le serveur place les fichiers dans /home/L_utilisateur/.ssh/. Par défaut, le fichier clef privée est nommé id_rsa et le fichier clef public est nommé id_rsa.pub.
- Ensuite, le serveur demande un mot de passe pour protéger la clef privée. (Il est donc recommandé de saisir un mot passe, car si quelqu’un obtient se fichier, il pourra se connecter sur votre serveur sans qu’on lui demande quoi que ce soit).
- Si vous utilisez SSH v2, dans le répertoire /home/L_utilisateur/.ssh/ vous devez créer un fichier nommé authorized_keys2 puis copier le contenue de la clef public dans ce fichier.
cd /home/L_utilisateur/.ssh/ cat id_rsa.pub >> authorized_keys2
- Copier le fichier id_rsa sur la machine qui devra se connecter en SSH sur le serveur.
- Toujours sur le serveur, pour activer l’authentification RSA, il faut éditer le fichier /etc/ssh/sshd_config et remplacer RSA Authentication no par RSA Authentication yes et PubkeyAuthentication no parPubkeyAuthentication yes
- Si vous voulez interdire l’authentification par mot de passe, il faut éditer le fichier /etc/ssh/sshd_config et remplacer PasswordAuthentication no par PasswordAuthentication yes.