如何在 FreeBSD 上允许通过 ssh 进行未经身份验证的登录?

如何在 FreeBSD 上允许通过 ssh 进行未经身份验证的登录?

ckurs我在 FreeBSD 10 工作站上创建了一个帐户。该帐户使用自定义 shell 脚本作为登录 shell,以只读模式将用户附加到 tmux 会话。我已经充分说服自己这是安全的。

我想让其他人能够ckurs在不提供任何形式的身份验证的情况下登录用户(没有密码,没有密钥,什么都没有)。过去,我为此帐户设置了一个简单的密码,但让用户正确输入密码总是会引起一些混乱,所以我想避免这种情况。

我首先使用 设置一个空白密码pw usermod ckurs -w none。这适用于本地登录,su但当我通过 ssh 登录时则不起作用,而是在提示输入密码 3 次后拒绝身份验证。

我需要设置什么选项才能允许无密码登录?最好的配置是仅适用于该一个帐户。

我相信我没有更改系统上有关身份验证的任何配置,我相信系统默认使用 PAM 来对用户进行身份验证(但我不确定),PAM 配置尚未从 FreeBSD 10 提供的默认值更改。

答案1

要允许使用 PAM 通过 SSH 进行未经身份验证的登录,必须配置以下所有内容:

  • 用户帐户必须设置“无密码”。这与“空密码”不同,可以通过以下方式实现

    pw usermod <user> -w none
    
  • 在 中,必须在设置sshd_config之前设置以下选项,否则该选项将被忽略:UsePAM

    PermitEmptyPasswords yes
    
  • 在 的 PAM 配置文件中sshd,类别pam_unix中的模块auth必须使用nullok选项 e 加载。 G。

    auth        required    pam_unix.so     no_warn try_first_pass nullok
    

相关内容