如何在 AutoSSH 中应用动态端口分配?在使用 ssh 的远程设备中,我们通过以下命令创建反向隧道:
ssh -f -N -R 0:localhost:22 username@ip
它在服务器上分配一个动态端口并在计算机上打印该端口。我想使用 autossh 应用同样的东西。
所以我的问题是如何实现这一目标?
答案1
autossh
是 的直接替代品,但ssh
有一个警告。直接更换意味着您调用它而不是ssh
,传递与 完全相同的参数ssh
。需要注意的是,autossh
有一个强制性选项(矛盾修辞警报!)您还必须将其包含在命令调用中。
所需的autossh
选项是-M port
在哪里港口是系统上未使用的端口号,例如端口+1也未使用。联机autossh
帮助页使用端口20000
和20001
作为示例。由于这些在我的系统上都是免费的,所以我也使用它们,所以我添加-M 20000
到我的autossh
通话中。
如果您使用相同的端口,您的命令将是:
autossh -M 20000 -f -N -R 0:localhost:22 username@ip
仅供参考,这些端口用于监视遥控器的可用性。测试数据于 发送20000
并于 返回20001
。如果没有返回任何内容,则autossh
尝试重新建立连接(这稍微简化了事情,但您明白了)。