当我尝试通过 ssh 登录 Mac 时,即使仔细配置了 sshd 和 ~/.ssh/authorized_keys,它仍然拒绝让我登录。
$ ssh joeuser@mymac
Connection closed by 192.168.1.20 port 22
似乎在 Mac 上启用远程登录比在 Linux 系统上需要做更多的事情(除了在系统范围内启用远程登录之外,还必须为每个特定用户完成)。
真是一场噩梦。 在我能找到的任何地方都没有很好的记录,所以我不得不询问法学硕士如何做到这一点,在尝试了许多不同的建议策略后,我终于找到了一个有效的方法:
首先,我进行了法学硕士建议的诊断:
$ sudo log show --predicate 'process == "sshd"' --info | grep Access
2024-07-30 15:44:58.891797-0500 0x4223f8c Default 0x0 56660 0 sshd: fatal: Access denied for user joeuser by PAM account configuration [preauth]
当我向 LLM 提供该输出后,它通知我,要使用户能够通过 ssh 登录,您必须调整 pam dscl 设置:
例如启用 joeuser:
# Check current SACL configuration for SSH
sudo dscl . -read /Groups/com.apple.access_ssh GroupMembership
# Add 'joeuser' to the SSH access group
sudo dscl . -append /Groups/com.apple.access_ssh GroupMembership joeuser
# Verify 'joeuser' has been added
sudo dscl . -read /Groups/com.apple.access_ssh GroupMembership
# Restart the SSH service
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
无论如何,这样做解决了我的问题。
有更推荐的方法吗?