远程用户密码对 SSH 不起作用

远程用户密码对 SSH 不起作用

我已在 OS X mavericks macbook pro 上启用了远程登录。在我 ssh user@ip 后,系统提示我输入远程用户密码。当我输入远程用户的密码时,它被拒绝了。我确信密码是正确的,因为我已经手动用密码登录了计算机。

我已确保我尝试通过 ssh 进入计算机的用户包含在 ssh-able 用户帐户集中,并且 Passwordauthentication yes 在 /private/etc/sshd_config 中。

我错过了什么?

答案1

更新到 Catalina 后,我遇到了类似的问题。原因在于默认设置的 sshd 规则过于严格。

为了解决这个问题,在配置文件中/private/etc/ssh/sshd_config

添加以下字符串:

PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes

然后不要忘记重新加载 sshd 服务器:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

使用PAM。启用可插入式身份验证模块接口。如果设置为“是”,这将启用使用 ChallengeResponseAuthentication 和 PasswordAuthentication 的 PAM 身份验证。这是一个用于管理用户身份验证的强大框架。使用 PAM,您可以在身份验证期间强制执行规则(即根据登录计数限制访问)。

答案2

您是否尝试过使用管理员账户登录?

您是否尝试过启用 root 用户?启用 root 用户的步骤:

  1. 打开“用户与群组”偏好设置,点击“登录选项”,然后点击锁图标将其解锁。如有必要,请输入您的密码,然后点击“解锁”。
  2. 在网络帐户服务器部分,单击加入或编辑。
  3. 单击“打开目录实用程序”。
  4. 单击锁定图标将其解锁,然后输入您的管理员名称和密码。
  5. 执行以下操作之一:
    • 选择“编辑”>“启用 Root 用户”,然后在“密码”和“验证”字段中输入 Root 用户密码。
    • 选择编辑 > 禁用 Root 用户。
    • 选择编辑 > 更改 Root 密码,然后输入新的 root 用户密码。

答案3

出于多种原因,以 root 身份登录并不是一个好的解决方案。
当我尝试从 Debian 10 机器 ssh 到 Mac 时,我也遇到了这个问题。作为一种解决方法,我在.ssh/authorized_keysMac 上手动添加了一个密钥(即不使用 ssh,先有鸡还是先有蛋的问题)。

然后它就起作用了。

相关内容