默认情况下允许哪些用户通过 SSH 登录?

Joh*_*mBF 19 linux users login ssh debian

  1. 当我设置我的 Debian 6 时,我想知道,除了我知道密码的 root 用户之外,还有哪些用户可以通过 SSH 登录我的系统?

  2. 当我安装 Apache 2 时,会创建一个名为 www-data 的用户。该用户是否有权通过 SSH 登录我的系统?但是,如果 www-data 有一些默认密码,每个人都可以登录,这对我来说似乎不太可能。

  3. 哪里有允许用户通过 SSH 登录我的系统的列表?在 ssh 配置文件中找不到任何内容。

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_accessAllowUsersAllowGroupssshd_config可用于更精细的控制,如果这是必要的。在 Debian 中,强烈建议使用UsePAM.


pra*_*tri 11

默认情况下,Debian 上的所有用户都可以登录。

您可以通过允许某些可以通过编辑/etc/ssh/sshd_config文件登录的用户来更改它。

如 sshd_config 的手册页中所述。

AllowUsers

此关键字后面可以跟一个用户名模式列表,以
空格分隔。如果指定,则仅允许与其中一种模式匹配的用户名登录。只有用户名有效;无法
识别数字用户 ID 。默认情况下,允许所有用户登录。如果图案采用以下形式USER@HOST,然后USERHOST单独检查,限制登录到从特定主机的特定用户。的允许/拒绝的指令在下列顺序处理:DenyUsersAllowUsersDenyGroup,和最后AllowGroups


Mik*_*kel 7

默认情况下,SSH server甚至没有安装。您必须先安装该openssh-server软件包,然后任何人才能通过 SSH 进入。

之后,任何用户都必须通过两项检查:

  • SSH认证
  • PAM 帐户检查

SSH 身份验证意味着用户必须具有有效的密码,/etc/shadow或者他们在目标用户的~/.ssh/authorized_keys.

crypt(3)手册页中进一步描述了有效密码,但基本上如果用户的第二个字段以/etc/shadow开头$NUMBER$,则它可能有效,如果是*!,则无效。

PAM 帐户检查基本上意味着该帐户没有过期。您可以使用chage -l USERNAME.

所以要回答你的问题,据我所知:

  1. 只有 root 和您在安装向导中创建的帐户才能登录新系统
  2. 不,因为www-data有一个散列密码*并且没有~www-data/.ssh/authorized_keys文件
  3. 没有单一的列表,因为有多个要求,但是要获得一个想法,您可以尝试运行 grep -v '^[^:]*:[!*]:' /etc/shadow