无法在 macOS 上 ssh 到 localhost:作为新创建的用户“连接被 ::1 端口 22 关闭”

And*_*nke 4 ssh macos

我在名为 的 iMac 上运行 macOS 10.14.6 angharad。一般情况下运行良好。

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

[~] $ ssh alice@localhost
Password:
Connection closed by ::1 port 22
[~] $
Run Code Online (Sandbox Code Playgroud)

我输入的密码绝对是正确的。

我可以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
Run Code Online (Sandbox Code Playgroud)

(然后是来自 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
Run Code Online (Sandbox Code Playgroud)

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

小智 7

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

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

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