如何在 Mac OS X 上更改 sshd 监听地址?

如何在 Mac OS X 上更改 sshd 监听地址?

这个问题与这里的问题类似,关于在 Mac OSX 上更改 sshd 端口,但我不想更改端口号,而是想更改 Mac 的 ssh 服务器的监听地址。设置它/etc/sshd_config不起作用(就像它对端口号不起作用一样)。

根据man以下页面SSHD_CONFIG(5)

在 Mac OS X 上,sshd 由 launchd(8) 按需启动。sshd 将侦听的地址的规范在 launchd.plist(5) 文件 /System/Library/LaunchDaemons/ssh.plist 中给出。ListenAddress 和 Port 的值仅在从命令行运行 sshd 时使用。使用 launchctl(1) 卸载和加载 plist 文件。可以通过更改 plist 文件中 SockServiceName 键的值来设置 sshd 侦听的端口号。

这个答案显示了如何设置SockServiceName更改端口号,但我不清楚如何更改监听地址。

Deos 有人知道怎么做吗?

答案1

答案与您链接的答案类似。

在文件中/System/Library/LaunchDaemons/ssh.plist,您需要编辑Listeners项目。可以使用键指定 IP 地址SockNodeName。完成后,Listeners文件的部分应如下所示:

 <key>Listeners</key>
 <dict>
         <key>SockNodeName</key>
         <string>10.10.1.70</string>  ####This is the IP address you want
         <key>SockServiceName</key>
         <string>ssh</string>
         <key>Bonjour</key>
         <array>
                 <string>ssh</string>
                 <string>sftp-ssh</string>
         </array>
 </dict>

完成后,您可以通过执行以下操作重新加载配置

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist

答案2

sshd 有一个ListenAddress配置选项。我不知道操作系统/X有一个足够新的 ssh 版本来实现这一点。

我曾在较旧的 Ubuntu 服务器上使用过它,让 sshd 监听端口 443,同时 Apache 监听另一个 IP 上的同一端口。

相关内容