有一些服务商的网络很诡异,当SSH连接闲置一段时间后就会被断开,可以在连接闲置但是又不想断开连接的时候使用下面这几条命令循环输出内容来维持连接。
Linux:
while true; do echo [$(date)] Keep-alive; sleep 30; done
Windows CMD:
for /L %i in () do @echo Keep-alive & timeout /t 30 >nul
PowerShell:
while ($true) { "[$(Get-Date)] Keep-alive"; Start-Sleep -Seconds 30 }
真正防止SSH长时间无操作掉线的方法
方法一
在服务器的配置文件 /etc/ssh/sshd_config
里添加:
# 服务器每60秒向客户端发送一个空数据包保持连接
ClientAliveInterval 60
来源:sshd_config(5) ClientAliveInterval – OpenBSD manual pages
方法二
在客户端的配置文件 ~/.ssh/config
或者 /etc/ssh/ssh_config
添加:
# “*”可以改成指定服务器地址
Host *
# 每隔60秒自动发送一个空的请求以保持连接
ServerAliveInterval 60
来源:sshd_config(5) ServerAliveInterval – OpenBSD manual pages
方法三
使用SSH时添加参数 -o ServerAliveInterval=60
例如:
ssh -o ServerAliveInterval=60 GuGuan123@s0.serv00.net
发表回复