这个问题与这里的问题类似,关于在 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 上的同一端口。