![无法在 macOS 上通过 ssh 连接到本地主机:作为新创建的用户,“连接已由 ::1 端口 22 关闭”](https://linux22.com/image/1621284/%E6%97%A0%E6%B3%95%E5%9C%A8%20macOS%20%E4%B8%8A%E9%80%9A%E8%BF%87%20ssh%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA%EF%BC%9A%E4%BD%9C%E4%B8%BA%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%E7%94%A8%E6%88%B7%EF%BC%8C%E2%80%9C%E8%BF%9E%E6%8E%A5%E5%B7%B2%E7%94%B1%20%3A%3A1%20%E7%AB%AF%E5%8F%A3%2022%20%E5%85%B3%E9%97%AD%E2%80%9D.png)
我在名为 的 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”用户帐户已过期。但这毫无意义,因为用户可以在其他上下文中成功登录。我做了一些研究,发现了这一点:
TL;DR:进入“系统偏好设置”、“共享”,然后单击“远程登录”并调整访问列表以包含新用户。大概是为了安全起见,需要在此访问列表中设置 ssh 登录。它对您有用,因为默认情况下允许使用管理帐户。