繁体   English   中英

知道远程端口转发是否成功?

[英]Knowing if a remote port forward was successful?

我正在尝试设置一些反向ssh隧道,以便通过使用公共IP弹出一些服务器来访问我的家庭网络。

当我运行此命令时:ssh -R:[port_XX]:localhost:22 some_user @ my_server

即使“port_XX”正在使用中,它仍然会成功连接到“my_server”。

如果我直接运行此命令,当它发出警告时我可以看到问题:“警告:侦听端口远程端口转发失败[port_XX]”

但是,我使用cron作业在屏幕会话中启动此ssh会话。

如何以编程方式检查远程端口转发是否成功?

可以使用“screen -ls”检查屏幕会话,也可以轻松检查ssh会话,但远程端口转发......?

(如果这个问题不够清楚,请告诉我!我已经完成了我的研究,但还没有找到一个简单的解决方案。)

尝试添加-o ExitOnForwardFailure=yes

完整的命令将是这样的:

ssh -N -R [port_XX]:localhost:22 -o ExitOnForwardFailure=yes user@host

-N对于转发端口很有用,无需打开远程shell;你也可以添加-f在后台发送进程,如果你在屏幕下运行则不需要..)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM