【发布时间】:2023-01-23 06:37:21
【问题描述】:
我通过 ssh 连接到 linux 虚拟机以运行长时间的实验(每个程序 3 小时)以进行学术研究。当我的电脑不使用时,我收到错误消息:client_loop: send disconnect: Broken pipe。我看过这个论坛并尝试了许多解决方案,例如:
- 在我的
~/.ssh中创建一个文件config(同时使用sudo chmod 644 ~/.ssh/config创建)并添加以下行:ServerAliveInterval 60 ServerAliveCountMax 100000- 在
/etc/ssh/ssh_config我添加了以下内容:
Host* ServerAliveInterval 60 ServerAliveCountMax 100000- 最后
/etc/ssh/sshd_config我添加了以下内容:
TCPKeepAlive yes ClientAliveInterval 60 ClientAliveCountMax 100000我有我所有的 macbook 设置,通过使用以下命令
sudo pmset -a disablesleep 1并更改所有省电方法,它不会进入睡眠状态。但是,在离开计算机约 1 小时而不主动使用它时(因此屏幕保护程序在屏幕上),我收到此消息。
我真的不知道从哪里看这一点。我唯一可以考虑的是
MaxStartups 10:30:100中的/etc/ssh/sshd_config或ConnectTimeout 0中的/etc/ssh/ssh_config,但我不完全确定更改这些的影响是什么。任何解决此问题的建议将不胜感激!
谢谢!
编辑/更新:我注意到当我让我的电脑过夜但我没有运行 bash 脚本时,我没有收到 broken pipe 错误。
编辑/更新 2:我发现我可以让我的计算机无人看管至少 30 分钟而不会出现管道损坏错误
- 在
【问题讨论】:
-
备查。我的论文导师提出了一个解决方案。我已经在我的 Linux 服务器上安装了
screen,它似乎可以工作。
标签: ssh virtual-machine broken-pipe