le fichier sshd_config, dans /etc/ssh, devrait être modifié ainsi pour accroître la sécurité :
On fait écouter ssh que sur une interface donnée, car il y en a plus d'une et on ne veut pas que ssh y soit disponible de plus si on y en ajoute, dans le futur, on ne risque pas d'avoir de connexions ssh dessus.
Nous n'authorisons pas de connexion en tant que root. Si quelqu'un veut devenir root via ssh, deux logins sont maintenant nécessaires et le mot de passe root ne peut être attaqué par la force brute via SSH.
On Change le port d'écoute, ainsi l'intrus ne peut être complètement sûr de l'exécution d'un démon sshd (c'est de la sécurité par l'obscurité).
Les mots de passe vides sont un affront au système de sécurité donc non permis.
Autorise seulement certains utilisateurs à avoir accès via ssh à cette machine. user@host peut également être utilisé pour n'autoriser l'accès qu'à un utilisateur donné depuis un hôte donné.
Autorise seulement certains membres de groupes à avoir accès via ssh à cette machine. AllowGroups et AllowUsers ont des directives équivalentes pour interdire l'accès à la machine. Sans surprise elles s'appellent « DenyUsers » et « DenyGroups ».
On desactive toute forme d'autorisation dont nous n'avons pas réellement besoin ou que nous n'utilisons pas, par exemple, RhostsRSAAuthentication, HostbasedAuthentication, KerberosAuthentication ou RhostsAuthentication.
Désactivons le protocole version 1, car il a des défauts de conception qui facilite le crack de mots de passe.
Nous decidons également restreindre l'accès au serveur ssh en utilisant pam_listfile ou pam_wheel dans le fichier de contrôle PAM de ssh pour restreindre les connexions ssh. Par exemple, nous pouvons empêcher tous les utilisateurs qui ne sont pas dans /etc/loginusers en ajoutant cette ligne à /etc/pam.d/ssh :