如何在 OS X 上配置 SSH?

cwd*_*cwd 26 ssh passwords rsa macos

我正在尝试从一台运行 OS X 10.6 的 Mac 到另一台 Mac。通过密码似乎可以正常工作,但我无法让它改用 RSA 密钥。OS X 上的 ssh 配置文件在哪里,重新加载 SSH 的命令是什么?

更新

我要问的是如何配置高级选项。例如,在 Ubuntu 上有一个 ssh 配置文件,/etc/ssh/sshd_config如果您执行诸如更改端口或禁用特定用户 ( PasswordAuthentication no) 的密码验证之类的操作,您需要运行/etc/init.d/ssh reload以重新加载配置。我在 OS X 上没有看到那个文件,所以只是想知道它在哪里。我知道~/.ssh ~/.ssh/authorized_keys和``~/.ssh/config`

小智 39

SSHD 配置存储在

/private/etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

停止和启动 SSHD:

sudo launchctl stop com.openssh.sshd
sudo launchctl start com.openssh.sshd
Run Code Online (Sandbox Code Playgroud)

  • 我想你的意思是`/private/etc/ssh/sshd_config`和`/private/etc/ssh/ssh_config`。不要忘记 ssh 目录。 (4认同)
  • 不确定这是否仅仅是因为我的机器是如何设置的,但是从 OS X Mavericks 开始,我需要在 `launchctl` 中指定的 sshd 服务是 `org.openbsd.ssh-agent` (3认同)

小智 6

我发现在macOS Monterey (12.0) 中,如果你只是禁用PasswordAuthentication,它仍然会要求输入密码(在keyboard-interactive模式下)。要完全禁用它,您必须在中设置两个选项/etc/ssh/sshd_config

PasswordAuthentication no
ChallengeResponseAuthentication no
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令重新启动 SSH 服务器:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
Run Code Online (Sandbox Code Playgroud)

或者进入系统偏好设置 -> 共享并取消选中+选中“远程登录”。