Phi*_*ipp 16 linux ssh ip interface
在我的机器上,我使用的是使用 tun0 接口的 OpenVPN。我希望 sshd 只在这个接口上监听。
我知道,我可以指定要收听的 IP 地址
/etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
与
ListenAddress 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
指示。但是我的IP地址会改变,所以我不能在这里选择一个总是有效的IP。我知道只有当 VPN 启动时我才能启动守护程序 - 这不是问题。
如何让 sshd 只侦听特定接口 (tun0)?
您不能直接执行此操作,因为 sshd 只能识别 IP 地址。您可以使用 openvpn up 脚本将某些东西敲在一起
-up cmd Shell 命令在成功打开 TUN/TAP 设备后运行(预 --user UID 更改)。up 脚本可用于指定路由命令,这些命令将发往 VPN 连接另一端存在的私有子网的 IP 流量路由到隧道中...
另请参阅--down清理选项和详细说明脚本安全性等的文档的相关部分。
您会发现 tun 设备的 IP 地址作为环境变量传递给脚本。sshd 还接受表单命令行上的选项
-oSomeOption=SomeValue
Run Code Online (Sandbox Code Playgroud)
-o option 可用于以配置文件中使用的格式提供选项。这对于指定没有单独命令行标志的选项很有用。有关选项及其值的完整详细信息,请参阅 sshd_config(5)
所以你可以使用
-o ListenAddress=<some address>
Run Code Online (Sandbox Code Playgroud)
大概你有一些与你的 VPS 交谈的带外方法,这样当它中断时你可以联系服务器。