之前:
【已解决】Mac中iTerm2通过SSH连接远程服务器
是可以用iTerm2用ssh连接服务器的
但是使用期间发现:
没过一会,没有操作的话,就会失去连接而断开。
只能重新打开,很是麻烦,不好用。
所以要去找找如何避免此问题。
就像SecureCRT中的,每隔一段时间发送一个no op类的命令,就可以避免这类问题。
iterm2 ssh lost connection
去看看配置
之前没有配置,去新建后,加上内容:
➜ .ssh cat config ServerAliveInterval 10 ➜ .ssh pwd /Users/crifan/.ssh
然后去用试试,希望可以避免过会就断开的问题。
貌似此处iTerm有这方面的配置
When idle send ASCII code XXXX
去找找
果然有:
选中ssh的Profile-》Session-》When idle, send ASCII code 0 every 60 seconds
且鼠标移动上去会提示:
Only use this if you really know what you’re doing!
怕不清楚的人乱设置。
此处,不知道发送code值是什么比较合适
也说了,最好是给ssh加配置
~/.ssh/config
ServerAliveInterval 60
另外,如果还有问题,需要去看看:
本地,客户端,此处的Mac,中的:/etc/ssh_config
被连接的,远程的,服务器的,此处的CentOS中 :/etc/sshd_config
暂时不勾选上面选项
看看ServerAliveInterval是否生效。
注:期间偶尔遇到:
不知道和此处是否有关系
但是之前测试的3个ssh的连接,貌似还是alive的,没断开。
继续多测试一段时间看看再说。
过了1小时后,发现还是alive的,是没问题的:
说明此处是可以解决问题的。
【总结】
此处Mac中iTerm2中ssh连接,过段时间没操作就是断开连接了。
解决办法:
方式1:(推荐)从ssh角度解决
ssh支持参数配置
针对当前用户的,全局的配置:
vi ~/.ssh/config
加上配置:
ServerAliveInterval 10
注:如果只是针对某个域名,需要加上host:
Host your_domain.com ServerAliveInterval 10
方式2:(推荐)从iTerm2工具方面解决
iTerm2中有对应的配置:
选中ssh的Profile-》Session-》(默认没开启,所以去)勾选上:When idle, send ASCII code 0 every 60 seconds
另外:
如果还没解决,需要去看看:
- 本地,客户端(此处的Mac)中的:/etc/ssh_config
- 被连接的,远程的,服务器的(此处的CentOS)中的 :/etc/sshd_config