Quels utilisateurs sont autorisés à se connecter via SSH par défaut?

18
  1. Lorsque j'ai configuré ma Debian 6, je me demandais quels utilisateurs, à part root dont je connais le mot de passe, peuvent se connecter à mon système via SSH?

  2. Lorsque j'installe Apache 2, un utilisateur appelé www-data est créé. Cet utilisateur a-t-il le droit de se connecter à mon système via SSH? Mais s'il y avait un mot de passe par défaut pour les données www, tout le monde pourrait se connecter, cela me semble peu probable.

  3. Où ai-je une liste des utilisateurs autorisés à se connecter à mon système via SSH? Je ne trouve rien dans les fichiers de configuration ssh.

JohnnyFromBF
la source

Réponses:

20

Paradeepchhetri n'est pas exactement correct.

Debian non modifié sshd_configa les caractéristiques suivantes:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Ainsi, la connexion via ssh ne fonctionnerait que pour les utilisateurs qui ont un champ de mot de passe rempli /etc/shadowou une clé ssh ~/.ssh/authorized_keys. Notez que la valeur par défaut de PubkeyAuthenticationest yeset de PermitEmptyPasswordsest no, donc même si vous les supprimez, le comportement sera le même.

Dans l'exemple de question, www-datapar défaut, il ne sera pas autorisé à se connecter car le programme d'installation de Debian n'attribue ni mot de passe ni crée de clé pour www-data.

pam_access, AllowUserset AllowGroupsin sshd_configpeut être utilisé pour un contrôle plus fin si nécessaire. Dans Debian, il est fortement encouragé UsePAM.

bahamat
la source
10

Par défaut, la connexion est autorisée pour tous les utilisateurs sur Debian.

Vous pouvez le modifier en autorisant certains utilisateurs qui peuvent se connecter en modifiant le /etc/ssh/sshd_configfichier.

Comme mentionné dans la page de manuel de sshd_config.

AllowUsers

Ce mot-clé peut être suivi d'une liste de modèles de nom d'utilisateur, séparés par des
espaces. S'il est spécifié, la connexion n'est autorisée que pour les noms d'utilisateur qui correspondent à l'un des modèles. Seuls les noms d'utilisateur sont valides; un ID utilisateur numérique n'est pas
reconnu. Par défaut, la connexion est autorisée pour tous les utilisateurs. Si le motif prend la forme USER@HOSTalors USERet HOSTsont contrôlés séparément, ce qui limite les connexions à des utilisateurs particuliers de certains hôtes. La Allow / Deny sont traitées dans l'ordre suivant: DenyUsers, AllowUsers, DenyGroup, et enfin AllowGroups.

pradeepchhetri
la source
J'ai ajouté "sur Debian" au cas où quelqu'un viendrait et lirait le titre et la réponse de la question sans lire la question elle-même. La réponse générale au titre de la question est "cela dépend du contenu du sshd_configfichier expédié ". Certains systèmes d'exploitation sont livrés avec une connexion root via SSH non autorisée, par exemple.
Warren Young
Merci, mais par défaut, seul root peut se connecter car il est le seul à avoir un mot de passe dans / etc / shadow.
JohnnyFromBF
7

Par défaut, SSH servern'est même pas installé. Vous devez installer le openssh-serverpackage avant que quiconque puisse se connecter à SSH.

Après cela, tout utilisateur doit passer deux vérifications:

  • Authentification SSH
  • Vérifications de compte PAM

L'authentification SSH signifie que l'utilisateur doit avoir un mot de passe valide /etc/shadowou qu'il a une clé publique SSH valide avec les bonnes autorisations dans l'utilisateur cible ~/.ssh/authorized_keys.

Les mots de passe valides sont décrits plus loin dans la crypt(3)page de manuel, mais fondamentalement, si le deuxième champ de l'utilisateur /etc/shadowcommence par $NUMBER$, il est probablement valide, et si c'est *ou !, il n'est pas valide.

Les vérifications de compte PAM signifient essentiellement que le compte n'est pas expiré. Vous pouvez vérifier cela en utilisant chage -l USERNAME.

Donc pour répondre à vos questions, à ma connaissance:

  1. Seuls root et le compte que vous créez pendant l'assistant d'installation peuvent se connecter sur un nouveau système
  2. Non, car www-dataa un mot de passe haché *et il n'y a pas de ~www-data/.ssh/authorized_keysfichier
  3. Il n'y a pas de liste unique, car il y a plusieurs exigences, mais pour vous faire une idée, vous pouvez essayer de lancer grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
la source
1
Soyez prudent, le mot de passe vide est un mot de passe valide, mais comme l' a souligné bahamat , la configuration SSH par défaut (et la configuration Debian par défaut) interdit la connexion SSH pour les comptes de mot de passe vides.
Totor