ssh连接远程服务器中途断开
问题描述
Mac机器使用ssh操作远程服务器的途中,由于网络波动,断开连接,休眠等一系列奇葩原因导致终端client_loop: send disconnect: Broken pipe
,
在这样的情况下,远程服务器也跟着掉线。
需求
即使本地Mac掉线,远程服务器仍旧保持工作
解决方式: Screen
连接远程服务器
binzhang@MacBin ~$ ssh username@servername
创建名为cskg的screen, 此时screen被创建,之后的代码或者各种工作在该screen下操作
[servername ~]$ screen -S cskg
万一本地机器掉线,重新连接远程服务器,随后使用screen -ls 查看之前创建的screen信息
1
2
3
4
5[servername ~]$ screen -ls
显示信息:
There is a screen on:
157586.cskg (Attached)
1 Socket in /var/run/screen/xx使用-r回到之前服务器工作的screen
screen -r 157586
Screen常见问题
使用screen -ls
, 显式当前状态为Attached,但并没有没有用户登陆该screen。screen此时正常状态应该为(Detached)使用 screen -r <session-id>
无法连接,
解决方案:screen -D -r <session-id>
,-D -r 表示先踢掉前用户,再登陆。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!