Configuration d'OpenSSH

Pour des raisons de sécurité, nous interdirons les connections ssh avec mot de passe, ainsi que la connection directe du super utilisateur (root). Autrement dit, authentification par clef et d'un utilisateur « normal » uniquement. sshd étant un service lancé par défaut, et le firewall laissant passer les connections extérieures sur le port 22, il n'y a rien à faire de ce côté là. À moins que vous ne vouliez filtrer par adresse IP, mais c'est une mesure de sécurité toute relative de une, et qui risque de s'avérer pénible quand il est maintenant si facile de se connecter chez soi avec son téléphone, sa tablette, avec son netbook d'une borne wifi publique ou via une clef 3G…
Création d'un utilisateur:

useradd quivousvoulez
passwd quivousvoulez

Choisissez un mot de passe digne de ce nom (avec minuscules, majuscules, chiffres ET ponctuation). Il est maintenant temps de générer, et ce sur chaque machine que vous allez utiliser pour vous connecter sur le serveur, une paire de clefs ssh. Ce qui se fait de la manière suivante (et n'utilisez pas de phrase de passe vide !) :

 ssh-keygen 

Vous aurez dans /.ssh/authorized_keys) :

 ssh-copy-id -i /.ssh/id_rsa.pub quivousvoulez@serveur 

C'est maintenant au tour de la configuration du serveur openssh. Éditez le fichier /etc/ssh/sshd_config. Il faut modifier les lignes PermitRootLogin, PubkeyAuthentication et PasswordAuthentication de la manière suivante:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no 

Puis il suffit de redémarrer le serveur openssh pour qu'il prenne en compte les modifications:

service sshd reload

Fini l'authentification distante par mot de passe !

Haut de page