如何在 OS X 上配置 SSH?

如何在 OS X 上配置 SSH?

我正在尝试从一台运行 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 进入您的机器。

相关内容