Sécuriser -- un peu plus -- son accès SSH

Pour sécuriser un peu plus l'accès en ssh à notre serveur, et rendre plus difficile une intrusion par Brute Force, on va interdire l'accès pas "mot de passe".

On va utiliser des clés SSH dans des fichiers en local et sur le serveur.

On va générer une clé en local en utilisant ssh-keygen et en sauvant cette clé dans un répertoir .ssh située dans le répertoir du user : /Users/XXX/.ssh .

ssh-keygen va générer 2 fichiers SSS.pub et SSS.

C'est le contenu du fichier SSS.pub qui sera stocké au niveau du serveur.

Pour ce faire, coté serveur, on va créer un répertoire .ssh au niveau du user XXX.

Dans ce répertoire, on va créer un fichier authorized-keys, c'est dans ce fichier que l'on va retrouver les clés, une par ligne, qui auront accès à ce serveur.

On va donc recopier le contenu du ficher SSS.pub dans le fichier authorized-keys.

On va changer les permission sur le répertoir .ssh ainsi que sur le fichier authorized-keys :
chmod 700 .ssh chmod 644 .ssh/authorized-keys

Maintenant que la clé est installée sur le serveur, on va désactiver la connection par mot de passe.

Il suffit de passer la ligne PasswordAuthentication à no dans le fichier /etc/ssh/sshd_config .

On relance le service :
service ssh restart

Et voilà, un petit appel à
ssh XXX@IPSERVER -p xxxx -i ~/.ssh/SSS.pub pour se connecter, et fini les mots de passe.

si vous avez entrer une passPhrase lors de la conception de la clé, il faudra la retaper maintenant