"client_loop: send disconnect: Broken pipe" while running long experiments with bash script

5.7k Views Asked by At

I am connected through ssh to a linux virtual machine to run long experiments (3 hours per program) for academic research. When my computer is not used I get the error message: client_loop: send disconnect: Broken pipe. I have looked at this forum and tried many of the solutions such as:

  1. in my ~/.ssh creating a file config (while creating using sudo chmod 644 ~/.ssh/config) and adding the following lines:
ServerAliveInterval 60
ServerAliveCountMax 100000
  1. In /etc/ssh/ssh_config I have added the following:
Host*
    ServerAliveInterval 60
    ServerAliveCountMax 100000
  1. And finally /etc/ssh/sshd_config I have the added the following:
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 100000

I have all my macbook settings such that it won't go to sleep by using the following command sudo pmset -a disablesleep 1 and by changing all power saving methods.

However, while going away from the computer for ~1 hour of not using it actively (so screensaver is on the screen) I get this message.

I really don't know where to look at this point. The only things I can consider are MaxStartups 10:30:100 in /etc/ssh/sshd_config or ConnectTimeout 0 in /etc/ssh/ssh_config, but I wasn't entirely sure what the impact of changing these were.

Any suggestions to solve this problem would be appreciated!

Thanks!

edit/update: I notice that when I leave my computer on overnight but I am not running a bash script, that I do not get the broken pipe error.

edit/update 2: I find that I can leave my computer unattended for at least 30 minutes without a broken pipe error

1

There are 1 best solutions below

0
Plugie On

I solve by adding following in my macbook /etc/ssh/ssh_config

Host *
   ServerAliveInterval 60 #add this line