Linux下要怎么判断ssh是不是失效了?

发布于 2021-11-26 17:46:17 字数 992 浏览 816 评论 2

我在家里的电脑(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



还有时在远端把连接kill掉了,本地的这个进程却还在
有什么方法能判断本地的这个连接是否还有效呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

少女净妖师 2021-11-28 13:26:00

这个应该可以,晚上回去试下,现在怕把链接弄断了 http://www.cnblogs.com/eshizhan/archive/2012/07/16/2592902.html

女中豪杰 2021-11-26 22:02:04

这个问题也困扰着我,昨天找到一个解决方案: SSH断开重连机制提高SSH隧道的稳定性, http://my.oschina.net/lieefu/blog/471488 方法是安装autossh和expect。autossh负责自动重连,expect负责自动输入密码。

谁有更好的办法,请分享下!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文