在我的机器上,我使用的是使用tun0接口的OpenVPN.我希望sshd只能在这个界面上收听.
我知道,我可以指定要收听的IP地址
/etc/ssh/sshd_config
用一个
ListenAddress 0.0.0.0
指示.但是我的IP地址会改变,所以我不能在这里选择一个总是有效的IP.我知道只有当VPN启动时我才能启动守护进程 – 这不是问题所在.
如何让sshd只监听特定的接口(tun0)?
解决方法
你不能直接这样做,因为sshd只能理解IP地址.您可以使用openvpn up脚本将某些内容组合在一起
-up cmd
Shell command to run after successful TUN/TAP device open (pre
–user UID change). The up script is useful for specifying
route commands which route IP traffic destined for private
subnets which exist at the other end of the VPN connection into
the tunnel…
另请参阅清除的–down选项以及详细说明脚本安全性等的文档的相关部分.
您会发现tun设备的IP地址作为环境变量传递给脚本.此外,sshd在表单的命令行上获取选项
-oSomeOption=SomeValue
-o选项
可用于以.中使用的格式提供选项
@R_301_382@.这对于指定选项很有用
没有单独的命令行标志.有关详细信息
选项及其值,请参阅sshd_config(5)
所以你可以使用
-o ListenAddress=<some address>
大概你有一些带外方法与你的VPS交谈,所以当这个中断时你可以联系服务器.