Configurer l'authentification SSH par clé sous CentOS/Redhat 6.*

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

1. Le jeudi 10 juillet 2014, 15:13 par nespresso64

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

La discussion continue ailleurs

URL de rétrolien : http://www.leslamas.net/index.php?trackback/66

Fil des commentaires de ce billet