Answers:
Paradeepchhetri并不完全正确。
Debian的未修改sshd_config内容如下:
PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes
因此,通过ssh登录仅适用于中具有填充密码字段/etc/shadow或中具有ssh密钥的用户~/.ssh/authorized_keys。请注意,默认值PubkeyAuthentication就是yes和PermitEmptyPasswords的no,所以即使你删除它们的行为将是相同的。
在问题示例中,www-data默认情况下将不允许登录,因为Debian的安装程序既不会分配密码也不会为创建密钥www-data。
pam_access,AllowUsers并且AllowGroupsin sshd_config可以用于进行更好的控制(如果需要)。在Debian中,强烈建议您这样做UsePAM。
默认情况下,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公共密钥,并在目标用户的权限中具有正确的权限~/.ssh/authorized_keys。
crypt(3)手册页中会进一步描述有效的密码,但是基本上,如果用户的第二个字段以/etc/shadow开头$NUMBER$,则可能是有效的,如果是*或!,则无效。
PAM帐户检查基本上意味着该帐户未过期。您可以使用检查chage -l USERNAME。
因此,据我所知,回答您的问题:
www-data哈希密码为,*并且没有~www-data/.ssh/authorized_keys文件grep -v '^[^:]*:[!*]:' /etc/shadow
sshd_config文件的内容。” 例如,某些操作系统附带不允许通过SSH进行root登录。