bah*_*mat 20
Paradeepchhetri 并不完全正确。
Debian 的未修改sshd_config有以下内容:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
Run Code Online (Sandbox Code Playgroud)
因此,通过 ssh 登录仅适用于/etc/shadow在~/.ssh/authorized_keys. 请注意,PubkeyAuthenticationisyes和 for PermitEmptyPasswordsis的默认值no,因此即使您删除它们,行为也会相同。
在问题示例中,www-data默认情况下不允许登录,因为 Debian 的安装程序既没有分配密码也没有为www-data.
pam_access,AllowUsers并AllowGroups在sshd_config可用于更精细的控制,如果这是必要的。在 Debian 中,强烈建议使用UsePAM.
pra*_*tri 11
默认情况下,Debian 上的所有用户都可以登录。
您可以通过允许某些可以通过编辑/etc/ssh/sshd_config文件登录的用户来更改它。
如 sshd_config 的手册页中所述。
AllowUsers此关键字后面可以跟一个用户名模式列表,以
空格分隔。如果指定,则仅允许与其中一种模式匹配的用户名登录。只有用户名有效;无法
识别数字用户 ID 。默认情况下,允许所有用户登录。如果图案采用以下形式USER@HOST,然后USER与HOST单独检查,限制登录到从特定主机的特定用户。的允许/拒绝的指令在下列顺序处理:DenyUsers,AllowUsers,DenyGroup,和最后AllowGroups。
默认情况下,SSH server甚至没有安装。您必须先安装该openssh-server软件包,然后任何人才能通过 SSH 进入。
之后,任何用户都必须通过两项检查:
SSH 身份验证意味着用户必须具有有效的密码,/etc/shadow或者他们在目标用户的~/.ssh/authorized_keys.
crypt(3)手册页中进一步描述了有效密码,但基本上如果用户的第二个字段以/etc/shadow开头$NUMBER$,则它可能有效,如果是*或!,则无效。
PAM 帐户检查基本上意味着该帐户没有过期。您可以使用chage -l USERNAME.
所以要回答你的问题,据我所知:
www-data有一个散列密码*并且没有~www-data/.ssh/authorized_keys文件grep -v '^[^:]*:[!*]:' /etc/shadow