Linux下要怎么判断ssh是不是失效了?
我在家里的电脑(Centos7)用SSH反向连接一个公网的服务器(Centos6)
#!/bin/bash #标准输出与错误输出重定向到文件 exec 1>>/root/log/ssh-r.log exec 2>>/root/log/ssh-r.log RET=`ps ax | grep "ssh -f -N -R 2222:localhost:22" | grep -v "grep"` if [ "$RET" = "" ]; then DATE=$(date +%Y-%m-%d' '%H:%M:%S) echo "$DATE 重新连接..." ssh -f -N -R 2222:localhost:22 115.28.159.223 fi
但是时间一长这个连接好像就死掉了,本地的进程还在
[root@localhost ~]# ps -ax | grep 2222 | grep -v grep 26375 ? Ss 0:00 ssh -f -N -R 2222:localhost:22 115.28.159.223
[root@AY140314105920362779Z ~]# netstat -pan | grep 2222
有什么方法能判断本地的这个连接是否还有效呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个应该可以,晚上回去试下,现在怕把链接弄断了 http://www.cnblogs.com/eshizhan/archive/2012/07/16/2592902.html
这个问题也困扰着我,昨天找到一个解决方案: SSH断开重连机制提高SSH隧道的稳定性, http://my.oschina.net/lieefu/blog/471488 方法是安装autossh和expect。autossh负责自动重连,expect负责自动输入密码。
谁有更好的办法,请分享下!