如何在 Mac 上启用用户远程 ssh 登录?

问题描述 投票:0回答:1

当我尝试通过 ssh 登录 Mac 时,即使仔细配置了 sshd 和 ~/.ssh/authorized_keys,它仍然拒绝让我登录。

$ ssh joeuser@mymac
Connection closed by 192.168.1.20 port 22

似乎在 Mac 上启用远程登录比在 Linux 系统上需要做更多的事情(除了在系统范围内启用远程登录之外,还必须为每个特定用户完成)。

macos ssh sshd
1个回答
0
投票

真是一场噩梦。 在我能找到的任何地方都没有很好的记录,所以我不得不询问法学硕士如何做到这一点,在尝试了许多不同的建议策略后,我终于找到了一个有效的方法:

首先,我进行了法学硕士建议的诊断:

$ 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

无论如何,这样做解决了我的问题。

有更推荐的方法吗?

© www.soinside.com 2019 - 2024. All rights reserved.