如何保持 SSH 连接不断开

2015-09-23 14:00:03 +08:00
 alangz

我使用 iTerm2 ,使用 ssh 命令登录远程服务器。在电脑休眠的时候, ssh 连接会断开。我想让 ssh 连接能保持不断开,是否办法能做到?

11484 次点击
所在节点    DevOps
41 条回复
Theo14
2015-09-23 14:03:54 +08:00
不如禁止休眠。。。
GG2
2015-09-23 14:04:24 +08:00
mosh
xiaoyao9933
2015-09-23 14:05:21 +08:00
1. 如果非要保持不断开,可将 sshd client 和 server 的 alive 时间都调的非常大,我不知道可不可以设置为无限。我没这么试过,不清楚是否起作用。不推荐这种做法,因为连接可能确实会假死。
2. 为什么不用 tmux 或者 screen 呀?
xiaoyao9933
2015-09-23 14:08:24 +08:00
@GG2 发现一个好东西。。
Theo14
2015-09-23 14:11:32 +08:00
@GG2 你说的这个不错哦
simpx
2015-09-23 14:17:37 +08:00
1. 用 mosh

2. 用 ssh + screen 的办法,每次 screen -x 到之前的 session 。

目前我使用的是方案二,比较通用,不用装一个 mosh
Tink
2015-09-23 14:20:41 +08:00
screen 或者 mosh
lucifer9
2015-09-23 14:35:48 +08:00
autossh + screen
yuewolf
2015-09-23 14:37:37 +08:00
screen 感觉更适合,无需装东西,切一下即可
zts1993
2015-09-23 14:52:15 +08:00
autossh
tracyone
2015-09-23 14:59:31 +08:00
也可以用 tmux 哦,这样就不会打断正在运行的远程进程了
alangz
2015-09-23 15:15:12 +08:00
之前用 tmux ,不太习惯,我试试 mosh
zhouquanbest
2015-09-23 15:17:12 +08:00
mosh 才是真正意义上的不断
其他都是重连

虽然其实都是一回事
clino
2015-09-23 15:18:08 +08:00
ConnectTimeout 15
ConnectionAttempts 3
ServerAliveInterval 20
ServerAliveCountMax 5
调整这些参数看看有没有什么帮助
oska874
2015-09-23 15:27:02 +08:00
@zhouquanbest 为什么说 mosh 是真正的不断?电脑休眠了, ssh 肯定都断了。
tmdwex06895
2015-09-23 15:44:01 +08:00
推荐 mosh ,非常赞。
yaxin
2015-09-23 17:02:33 +08:00
竟然没有人提 ssh 的共享回话

在~/.ssh/config 中添加

Host *
ControlMaster auto
ControlPath ~/.ssh/%h-%p-%r
ControlPersist 4h
zhangwei1996
2015-09-23 17:15:09 +08:00
screen 神器。
cloudop
2015-09-23 17:34:21 +08:00
mac 下的 terminal 只要
echo "ServerAliveInterval 20" >> /root/.ssh/config
就够了
introom
2015-09-23 17:41:22 +08:00
楼上改 ssh config 都没用,你把电脑合上去试试就知道了。

因为那东西就不是干这个的啊,请好好读 man


所以老老实实用 tmux 和 autossh

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/223065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX