Configurer l'authentification SSH par clé sous CentOS/Redhat 6.*
Par neo le mercredi 19 décembre 2012, 15:04 - Administration - Lien permanent
Il est généralement utile de configurer une machine pour accepter l'authentification SSH par clé. Ce genre d'authentification est assez simple à mettre en place mais dans le cas des dernières versions de Redhat et CentOS, versions 6 et supérieures, il y a quelques petits pièges qui peuvent vite vous faire péter une pile.
Dans mon cas, je configure une VM CentOS 6.3 pour faire des tests, je souhaite donc pouvoir m'y connecter en root via SSH avec authentification par clé (oui oui je vais mettre le PermitRootLogin yes, patapé :P ).
On commence par ajouter sa clé publique dans le fichier ~/.ssh/authorized_keys ça c'est classique.
On édite ensuite le fichier /etc/ssh/sshd_config et on configure les points suivants:
PermitRootLogin yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
Une fois les modification effectuées on sauvegarde le fichier de conf et on restart le service SSH
service sshd restart
Habituellement avec ces simples configuration ça devrait fonctionner et l'on devrait être capable de se connecter via SSH avec authentification par clé, sauf qu'en fait, non... :'(
Sur les dernières versions de Redhat/CentOS, pour que cela fonctionne il y a encore deux choses à faire.
La première:
Dans le fichier de conf sshd_config il faut configurer les paramètres GSSAPI:
GSSAPIAuthentication no #GSSAPIAuthentication yes #GSSAPICleanupCredentials yes GSSAPICleanupCredentials no
La seconde:
il faut désactiver le SELINUX qui bloque l’accès ssh par clé (au moins pour root, peut être pas pour les autres user).
Pour ce faire, on édite le fichier /etc/selinux/config et on modifie ces deux paramètres:
SELINUX=disabled #SELINUXTYPE=targeted
On reboot la machine pour que les modifications sur SELINUX soient appliquées.
Et voila miracle ça fonctionne :D
Commentaires
Euh ouais c'est super gentil mais il manque au début comment faire pour généner et ajouter sa clé publique dans le fichier surtout que pour un serveur sous centos ils sont en général sans interface graphique du coup mais sinon c'est bien