以下是我的信息:
我有一个 SSH 连接,用作 SOCKS5 代理。每次我在电脑上醒来时都必须重新初始化它很烦人。
我已经设置ServerAliveInterval到60在~/.ssh/config。我无权添加ClientAliveInterval,即使添加,也会产生完全相同的效果。
我得到的具体错误消息是“管道损坏”。screen否则tmux在这里无济于事,我每次都必须附加,这使我们回到了平方数 uno。
autossh似乎不起作用。我跑了autossh -M 0 -DPORT alias,我在任务管理器中看到它,但即使等待 5 分钟后,SSH 连接似乎也没有重新启动。
我读过很多问题,说要使用上述三个选项之一,但没有一个涉及唤醒和暂停。我不能把它放在一些 bash 初始化脚本中,因为我只希望它发生一次(当我登录计算机时)。但与此同时,我希望我的 SSH 连接在我在计算机上时死掉时保持活动状态。比我用来实现我的事业的效果的组合是什么?
持久连接需要服务器端的支持。这在当前的 openssh 服务器中不可用(并且看起来也不会)。
客户端部分是几年前实现的,UseRoaming这是著名的功能,几周前就从 openssh 中删除了。该功能从未起作用,并且是一个重大的安全漏洞。它可能适用于appgate.comSSH 服务器,但我第一次听说这个漏洞。
客户端/服务器活动间隔仅在 TCP 保持活动期间有效,当然,如果您在挂起和唤醒之间没有更改 IP 地址的话。
我会考虑针对您的情况使用ifup脚本(在网络接口启动后运行的脚本)的解决方案。它可能看起来像这样/sbin/ifup-local,您可以在其中启动 SOCKS5:
#!/bin/sh
if [[ "$1" == "eth0" ]]
then
ssh -DPORT alias
else
#DO_NOTHING
fi
Run Code Online (Sandbox Code Playgroud)
不要忘记使脚本可执行sudo chmod +x /sbin/ifup-local。您还可以向该脚本添加更多检查和内容,区分网络接口或其他内容。来源
| 归档时间: |
|
| 查看次数: |
4130 次 |
| 最近记录: |