Quand j'ai installé mon Debian 6, je me demandais, quels utilisateurs à part root dont le mot de passe que je connais peut se connecter à mon système via SSH?
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 Www-Data, tout le monde pourrait se connecter, me semble peu probable.
Où ai-je une liste que les utilisateurs sont autorisés à se connecter à mon système via SSH? Vous ne trouvez rien dans les fichiers de configuration SSH.
ParaDeepchhetri n'est pas exactement correct.
Debian est non modifié sshd_config
a ce qui suit:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
Ainsi, Login via SSH ne fonctionnerait que pour les utilisateurs ayant un champ de mot de passe peuplé dans /etc/shadow
ou une clé SSH dans ~/.ssh/authorized_keys
. Notez que la valeur par défaut pour PubkeyAuthentication
est yes
et pour PermitEmptyPasswords
est no
, donc même si vous les supprimez, le comportement sera le même.
Dans l'exemple de la question, www-data
Par défaut ne sera pas autorisé à vous connecter car le programme d'installation de Debian n'attribue pas non plus de mot de passe ni ne crée une clé pour www-data
.
pam_access
, AllowUsers
et AllowGroups
dans sshd_config
Peut être utilisé pour un contrôle plus fin si c'est nécessaire. Dans Debian, il est fortement encouragé à UsePAM
.
Par défaut, SSH server
N'est même pas installé. Vous devriez installer le paquet openssh-server
Avant que quiconque puisse ssh dans.
Après cela, tout utilisateur doit passer deux chèques:
L'authentification SSH signifie que l'utilisateur doit avoir un mot de passe valide dans /etc/shadow
Ou ils ont une clé publique ssh valide avec les droites autorisations dans le code de l'utilisateur cible ~/.ssh/authorized_keys
.
Les mots de passe valides sont décrits plus loin dans la page crypt(3)
man man, mais essentiellement si le 2e champ de l'utilisateur dans /etc/shadow
Est quelque chose qui commence par $NUMBER$
, Il est probablement valide, et si c'est *
Ou !
, C'est invalide.
Les contrôles 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:
www-data
A un mot de passe haché de *
Et il n'y a pas de fichier ~www-data/.ssh/authorized_keys
grep -v '^[^:]*:[!*]:' /etc/shadow