在我的机器上,我使用了使用tun0接口的OpenVPN。 我希望sshd只能在这个接口上进行监听。
我知道,我可以指定IP地址来收听
/etc/ssh/sshd_config
与一个
ListenAddress 0.0.0.0
指示。 但是我的IP地址会改变,所以我不能select一个永远有效的IP地址。 我知道,只有当VPN启动时,我才能启动守护进程 – 这不是问题。
我怎样才能让sshd只听一个特定的接口(tun0)?
由于sshd只能理解IP地址,所以你不能直接这样做。 你也许可以用openvpn的脚本把东西敲在一起
-up cmd Shell命令在成功打开TUN / TAP设备(预用户UID更改)后运行。 up脚本对于指定路由命令是有用的,这些命令将目的地为VPN连接另一端的私有子网的IPstream量路由到隧道中。
另请参阅--down选项以清除文档的相关部分,详细说明脚本安全性等。
您会发现tun设备的IP地址作为环境variables传递给脚本。 另外sshd在窗体的命令行上有选项
-oSomeOption=SomeValue
-o选项可用于以configuration文件中使用的格式提供选项。 这对于指定没有单独的命令行标志的选项很有用。 有关选项的详细信息及其值,请参见sshd_config(5)
所以你可以使用
-o ListenAddress=<some address>
大概你有一些与你的VPS交谈的带外方法,以便当这个rest时间,你可以联系服务器。