如何防止ssh
ubuntu 上的连接客户端出现 Broken Pipe 错误?
假设它slurm
正在服务器上运行,并且我刚刚发出了一个salloc
请求。如果连接断开,恢复会话(例如screen
)不会对我的salloc
命令已被 取消这一事实产生任何影响slurm
。我现在必须开始另一个队列。.ssh/config
鉴于编辑文件在降低风险的同时无法提供任何保证,是否有办法防止客户端管道损坏?
如何防止ssh
ubuntu 上的连接客户端出现 Broken Pipe 错误?
假设它slurm
正在服务器上运行,并且我刚刚发出了一个salloc
请求。如果连接断开,恢复会话(例如screen
)不会对我的salloc
命令已被 取消这一事实产生任何影响slurm
。我现在必须开始另一个队列。.ssh/config
鉴于编辑文件在降低风险的同时无法提供任何保证,是否有办法防止客户端管道损坏?
除了众所周知的客户端解决方案之外,不幸的是,这并不能阻止服务器在一段时间不活动后关闭连接,即包括以下内容:
在里面
文件并重新启动
sudo systemctl restart ssh
,我发现以下效果非常好。通过使用xdotool
人们可以编写一个
no_more_broken_pipes.sh
文件,其中包含以下内容:跑的时候,就是
无论您在做什么,它都会每十秒按一次 Return 键,直到您使用 中止它
ctrl+c
。只要您专注于正确的终端,服务器就会每十秒接收一次输入(
sleep 10
),因此即使您去度假,连接也不会终止。如果使用返回键不是一个好主意,该xev
工具将帮助确定在命令上写入的内容,以便按下更安全的键。警示故事
执行此操作时,您还应该防止出现任何弹出窗口(任何类型)。我包括登录屏幕(例如
i3lock
)、可用更新消息等等。只要只涉及一个终端,对我来说效果非常好的就是(通常)的全屏:它会自动阻止(到目前为止对我来说是这样)将焦点放在新窗口上。i3
Super_L+f