GJ.*_*GJ. 10 linux ssh gnu-screen
我通常有几个终端窗口,每个窗口都通过 ssh 连接到远程服务器。在每个窗口中,我都使用 gnu screen 程序工作,以确保在断开连接的情况下交互进程的持久性。
目前,每当 ssh 连接断开时(例如当我让我的客户端计算机过夜时),我必须手动且繁琐地在每个窗口内重新启动 ssh 会话,然后在每个窗口中繁琐地恢复特定的屏幕会话(例如“屏幕 - r 3453" 在一个窗口中,"screen -r 3462" 在另一个窗口中等等)
有没有一种优雅的方法来自动化这个?具体来说:
如果检测到 Internet 连接断开,则重新连接 ssh 会话
ssh 重新连接后立即运行终端窗口的特定屏幕实例
感谢您提供有关此的任何提示
Jas*_*son 11
你可以运行这个:ssh -t hostname screen -r 3453
重新连接。如果你想循环执行,我会在脚本中使用以下内容。
while true; do
ssh -t -o BatchMode=yes eeepc-rsi "screen -r 3453"
sleep 2
done
Run Code Online (Sandbox Code Playgroud)
如果您有 ssh-keys 设置,这将最有效,这样您就可以在不输入密码的情况下登录。我还建议您查看 tmux,这是一种更现代的屏幕实现。我实际上将上述脚本与屏幕一起使用。您可能还想使用命名的屏幕会话,而不是像您在示例中那样仅使用 pid。
归档时间: |
|
查看次数: |
7573 次 |
最近记录: |