我有一个 bash 脚本,其中有一些逻辑需要在本地和远程完成。因此,需要进行多次 ssh 和 rsync(用于数据传输)调用,例如:
command_0
rsync ... # Data to remote
ssh remote command_1
rsync ... # Receive results
...
# Above pattern is repeated multiple times
我遇到了一些由于 而导致 ssh 连接中断的问题ssh_exchange_identification: Connection closed by remote host
。上述脚本还针对不同的数据集异步触发了约 30 次。如何在脚本调用期间保持 ssh 连接处于活动状态以减少 ssh 连接的创建?
提前致谢!
答案1
您可以通过启用 TCPKeepALive 来实现这一点。在命令行中添加类似以下内容
ssh -o TCPKeepAlive=yes -o ServerAliveInterval=50
或者您可以修改〜/ .ssh / config并添加
主持人 *
服务器存活间隔 50