我在名为 的 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 登录。它对您有用,因为默认情况下允许使用管理帐户。