Par défaut, SSH autorisera tout compte d'utilisateur valide à se connecter au système distant, y compris l'utilisateur root. Bien que l'utilisateur root soit défini avec un mot de passe fort, il ne peut que limiter son exposition aux attaques par force brute. Mais comme dit cela ne fait que limiter, un accès malveillant au compte root est toujours possible. Il est donc toujours recommandé de désactiver la connexion de l'utilisateur root via SSH et d'utiliser un compte d'utilisateur non privilégié pour accéder au système distant. Une fois que vous avez accédé au système distant en tant qu'utilisateur non privilégié, su -
peut être utilisé pour passer au compte root. Ce tutoriel explique comment désactiver la connexion de l'utilisateur root via SSH sur CentOS 7.
Les étapes mentionnées dans ce tutoriel nécessitent un accès root. L'exemple de compte utilisé est "administrateur" qui doit être remplacé par un nom d'utilisateur de votre choix.
Étape 1 : Connectez-vous au système en tant que root
utilisateur. Ne vous inquiétez pas, vous utiliserez root
compte pour la connexion à distance uniquement à cette étape.
Étape 2 : Créez un autre compte d'utilisateur. Par exemple, administrator
.
[root@root ~]# adduser administrator
Étape 3 : Définissez un mot de passe fort pour le compte utilisateur créé à l'étape 2.
[root@root ~]# passwd administrator
Étape 4 : Ouvrez un autre terminal et connectez-vous au système en tant que nouvel utilisateur créé à l'étape 2. Cette étape vous permettra de tester si le nouveau compte fonctionne correctement.
Étape 5 : Testez que vous pouvez passer au compte root.
[administrator@administrator ~]$ su -
Entrez root
mot de passe du compte et vérifiez si vous avez obtenu un accès root.
[root@root ~]# whoami root
Étape 6 : Désactiver root
connexion de l'utilisateur via SSH.
[root@root ~]# vi /etc/ssh/sshd_config
Étape 7 : Recherchez '#PermitRootLogin yes'
. Par défaut, root
la connexion est autorisée par SSH.
Étape 8 : Remplacez '#PermitRootLogin yes' to 'PermitRootLogin no'
Étape 9 : Enregistrez le fichier et quittez
Étape 10 : Assurez-vous que sshd_config
n'a pas d'erreurs de syntaxe.
[root@root ~]# /usr/sbin/sshd -t [root@root ~]# echo $? 0
La sortie ci-dessus suggère, sshd_config
n'a pas d'erreur de syntaxe. Au cas où, s'il y avait une erreur, vous verriez une sortie non nulle.
Étape 11 : Redémarrez SSH pour lire la nouvelle modification de configuration.
# service sshd restart
Étape 12 : Assurez-vous que root
la connexion via SSH est désactivée.
ssh root@<ip-address>
L'accès doit être refusé malgré la saisie d'un mot de passe valide pour root
utilisateur. Cela signifie que SSH a refusé l'accès à la root
compte.
Étape 13 : Connectez-vous en tant que compte d'utilisateur non privilégié créé à l'étape 2.
Étape 14 : Si nécessaire, passez à root
compte comme ci-dessous :
[administrator@administrator ~]$ su -
C'est ça! Vous avez désactivé root
avec succès connectez-vous au système distant via SSH.
Les commandes ci-dessus ont été testées sur CentOS 7 et avec OpenSSH_6.6.1p1