Linux ssh 自动断开后,再也连接不上

johnlu · 2013年01月24日 · 最后由 lrbnew 回复于 2013年06月08日 · 6216 次阅读

A 主机 ssh 连接到 B 主机,当空闲一段时间后连接自动断开,提示Write failed: Broken pipe 在 A 主机重新连接,却提示ssh: connect to host 192.168.1.228 port 22: Connection refused

A 主机进程: 1722 ? 00:00:00 ssh-agent 9165 ? 00:00:00 sshd

B 主机进程: 639 ? 00:00:00 sshd 2837 ? 00:00:00 sshd 在 B 主机查看:who root pts/1 2013-01-24 15:14 (192.168.1.178) #A 主机的 IP

在 B 主机 ssh 连接 A 主机后,A 主机就能正常连接 B 主机, 这是为什么呢?

没有人遇到这样的问题吗?

匿名 #2 2013年01月28日

在 A 主机编辑/etc/ssh/ssh_config,并添加如下一行 ServerAliveInterval 60 每 60 秒发送一个请求,避免被踢。

#2 楼 @cdrwin 谢谢,这个方法我试过了。但是没有作用

#3 楼 @badboy 目前最大可能是这个原因了。因为出现这种情况没有规律。公司的网络确实有这个问题

这个很容易测试啊,把你的那台机器关了,然后 ping 那个 ip,如果还能 ping 通就真的冲突啦。。。如果 ping 不通,你再考虑其他问题。。。

#6 楼 @badboy 对对,是个好方法。但由于这个问题不是规律性出现也很麻,下次遇到时用你的方法试试看。

Mosh ssh 的 session 管理工具,可以断线重连 ssh 不会中断

#8 楼 @shawnyu 默认情况下是不会中断的,现在我都没遇到过了。所以可能是由于 IP 冲突造成的

可能是 IP 冲突引起的,最好在交换机上面把自动分配的 ip 地址池和固定 ip 的地址池进行区分 比如 192.168.1.1-100 做自动分配地址池,从 100-254 做固定 ip 段

需要 登录 后方可回复, 如果你还没有账号请 注册新账号