我正在尝试从一台运行 OS X 10.6 的 Mac 通过 SSH 连接到另一台。似乎通过密码可以正常工作,但我无法让它改用 RSA 密钥。OS X 上的 ssh 配置文件在哪里?重新加载 SSH 的命令是什么?
更新
我问的是如何配置高级选项。例如,在 Ubuntu 上有一个 ssh 配置文件,/etc/ssh/sshd_config
如果您执行某些操作(例如更改端口或禁用特定用户的密码验证(PasswordAuthentication no
),则需要运行/etc/init.d/ssh reload
以重新加载配置)。我在 MacOs 上没有看到该文件,所以只是想知道它在哪里。
我知道~/.ssh
、~/.ssh/authorized_keys
和~/.ssh/config
配置文件
答案1
SSHD 配置存储在
/private/etc/ssh/sshd_config
要停止和启动 SSHD:
sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
答案2
我发现macOS Monterey(12.0),如果您只是禁用PasswordAuthentication
,它仍会要求输入密码(在keyboard-interactive
模式下)。要完全禁用它,您必须在中设置两个选项/etc/ssh/sshd_config
:
PasswordAuthentication no
ChallengeResponseAuthentication no
然后使用以下命令重新启动 SSH 服务器:
sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
或者进入系统偏好设置->共享并取消选中 + 选中“远程登录”。
答案3
您可以在共享对话框中的某个位置重新启动 SSH,但您不必这样做。根据apple.com 上的手册页密钥进入 ~/.ssh/authorized_keys 文件。
答案4
请注意,在较新的 OS X 版本中,如果防火墙正在运行,则仅在系统偏好设置 > 共享中启用“远程登录”以允许 SSH 连接到您的 Mac 是不够的。
转到系统偏好设置 > 安全和隐私 > 防火墙 > 防火墙选项。您将看到“远程登录”列在顶部,并且允许传入连接。与预期相反,这还不够。您必须添加另一个名为的程序/usr/libexec/sshd-keygen-wrapper
(使用 [Shift-Cmd-G] 找到其目录),使用 [+] 按钮,然后为其设置“允许传入连接”。现在您将能够通过 SSH 进入您的机器。