首页 > 通过ssh连入服务器然后vim代码, 经常会断掉连接, 显示 `Broken pipe`, 怎么改善?

通过ssh连入服务器然后vim代码, 经常会断掉连接, 显示 `Broken pipe`, 怎么改善?

用的aliyun服务器, 配置如下:

ubuntu 14.04
CPU: 4核
内存: 8GB
带宽: 6Mbps

本地的环境:

archlinux
xfce4-terminal

在本地ping服务器:

from : icmp_seq=1 ttl=49 time=5.82 ms
64 bytes from x.x.x.x: icmp_seq=2 ttl=49 time=11.1 ms
64 bytes from x.x.x.x: icmp_seq=3 ttl=49 time=8.18 ms
64 bytes from x.x.x.x: icmp_seq=4 ttl=49 time=7.46 ms
64 bytes from x.x.x.x: icmp_seq=5 ttl=49 time=7.79 ms

--- x.x.x.x ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms

ssh 设置参考 这篇wiki中的 Speeding up SSH, Keep alive 等章节.

通过ssh连入服务器vim代码, 经常断掉连接, 显示Broken pipe, 痛不能举.

目前在用的折中方法是 sshfs.

请问, 是哪里的存在短板? 还有没有其他更好的方法?


在服務端安裝tmux 或者screen, ssh進入服務端後, 打開tmux 或者screen 的sessions. 這樣就算broken pipe後, 也可以重新鏈接.


ssh 有个超时时间,如果在超时时间内没有操作就会Broken pipe解决方法
或者可以不使用终端,用一些图形界面的ssh工具


问题的原因是 ssh 一段时间没有信息发送会自动断开,如果一定要用 ssh,可以去配置里面修改这个时间阈值。我比较推荐两种办法:

  1. 使用 mosh

Mosh is a replacement for SSH. It's more robust and responsive, especially over Wi-Fi, cellular, and long-distance links.

  1. 使用 tmux

这样即便断开了连接,重新连上的时候,所有东西都能恢复。


可以试试 tmux
具体用法搜索下


我觉得你可以试试mosh,有时候连接国外的出现问题,经常用.

【热门文章】
【热门文章】