无法在 macOS 上通过 ssh 连接到本地主机:作为新创建的用户,“连接已由 ::1 端口 22 关闭”

无法在 macOS 上通过 ssh 连接到本地主机:作为新创建的用户,“连接已由 ::1 端口 22 关闭”

我在名为 的 iMac 上运行 macOS 10.14.6 angharad。它总体运行良好。

我创建了一个新的用户帐户,alice用于测试 SSH 客户端。我可以alice使用 Mac 桌面界面登录,没有su - alice任何问题。但我无法以此用户身份通过​​ ssh 登录到 localhost。当我这样做时,我只收到“连接已关闭”消息。

[~] $ ssh alice@localhost
Password:
Connection closed by ::1 port 22
[~] $

我肯定输入的密码是正确的。

我可以ssh localhost正常ssh janke@localhost使用我的主janke帐户。

当我查看时/var/log/system.log,每次尝试建立连接时都会看到其中之一出现:

Apr 19 22:48:28 angharad login[29662]: USER_PROCESS: 29662 ttys002
Apr 19 22:48:35 angharad com.apple.xpc.launchd[1] (com.openssh.sshd.E37AD3EB-1E30-4F30-B96A-FBE9B2240D7F[29710]): Service exited with abnormal code: 255

(然后是来自 Electron 应用程序和 Microsoft 远程桌面客户端的一堆垃圾邮件。)

然后我查看控制台并发现了这一点:

23:10:34.899109   sshd      error: PAM: user account has expired for alice from ::1
23:1034:908664    sshd      fatal: monitor_read: unpermitted request 104

知道这里可能发生什么事吗?

答案1

日志消息显示“alice”用户帐户已过期。但这毫无意义,因为用户可以在其他上下文中成功登录。我做了一些研究,发现了这一点:

https://knowledge.autodesk.com/support/smoke/troubleshooting/caas/sfdcarticles/sfdcarticles/Enabling-remote-SSH-login-on-Mac-OS-X.html

TL;DR:进入“系统偏好设置”、“共享”,然后单击“远程登录”并调整访问列表以包含新用户。大概是为了安全起见,需要在此访问列表中设置 ssh 登录。它对您有用,因为默认情况下允许使用管理帐户。

相关内容