web-dev-qa-db-fra.com

Désactivation de la connexion par mot de passe SSH pour Ubuntu

J'ai un serveur distant pour lequel je veux désactiver la connexion à distance en utilisant un mot de passe pour root et les autres utilisateurs. J'ai lu quelques articles sur Internet sur la façon de procéder et j'ai la liste suivante de choses à faire/changer:

  1. créer une authentification par clé privée à l'aide de clés SSH pour tous les utilisateurs (je l'ai déjà fait)

  2. Définissez les paramètres suivants dans sshd_config:

    • set PermitRootLogin without-password

    • set ChallengeResponseAuthentication no

    • set PasswordAuthentication no

    • set UsePAM no

    • set AllowUsers root otheruser

  3. redémarrez ssh avec Sudo service ssh reload

Cependant, je ne sais pas exactement quelles modifications doivent être apportées au fichier sshd_config et je ne souhaite pas être verrouillé hors de mon serveur distant.

  1. Si je veux pouvoir me connecter en tant qu'utilisateur root et que d'autres utilisateurs n'utilisent que des clés SSH, quelles modifications dois-je apporter?

  2. Si je veux empêcher la connexion root distante du tout, quels changements dois-je apporter (et combien plus sécurisée est-elle par rapport à la connexion root distante utilisant des clés SSH)?

  3. Si j'empêche la connexion root à distance en apportant des modifications au fichier sshd_config, comment pourrai-je me connecter en tant que root si je le souhaite à l'avenir?

Veuillez répondre à ces questions de la manière la plus explicite possible et pardonnez-moi de ne pas avoir essayé, car je suis complètement horrifié de la possibilité d'être bloqué sur mon propre serveur distant.

3
user2850305

set "UsePAM no" dans le fichier sshd_config

Vous ne voulez pas vous détourner de PAM.

  1. Si je veux pouvoir me connecter en tant que root et otheruser en utilisant uniquement des clés SSH, quelles modifications dois-je apporter?

Pour ce faire, ces options sont liées:

PermitRootLogin without-password
ChallengeResponseAuthentication no
PasswordAuthentication no
AllowUsers root otheruser
PubkeyAuthentication yes     # missing in your list, but should be on by default)
  1. Si je veux empêcher la connexion root distante du tout, quels changements dois-je apporter (et combien plus sécurisée est-elle par rapport à la connexion root distante utilisant des clés SSH)?

Définissez PermitRootLogin no et AllowUsers otheruser.

  1. Si j'empêche la connexion root à distance en apportant des modifications au fichier sshd_config, comment pourrai-je me connecter en tant que root si je le souhaite à l'avenir?

Vous vous connecterez avec votre utilisateur non root et utiliserez Sudo pour éditer les fichiers de configuration et redémarrez sshd.

2
Jakuje