从 2018 年开始,我一直在使用来自远程计算机 (RPi) 和我的桌面的自定义隧道,但最近我开始遇到问题(遗憾的是随机的)。
这是这样的场景:
远程计算机(Raspberry Pi - RPi)有自己的移动调制解调器。 ISP 阻止几乎所有传入端口。
台式计算机(Ubuntu 22-04)。
两者都有动态公共 IP,每 12 小时更新一次。我的桌面中有一个 noip.com 服务,可以将其分配给一个 no-ip 地址(假设是 DK.noip.com)。因此使用 ssh 调用从远程访问桌面[电子邮件受保护]
在远程,我创建了一个脚本,该脚本通过 cron 任务检查隧道是否处于活动状态,如果没有,则创建一个新的隧道。
在远程,我安装了一个付费应用程序,它还允许我通过 ssh 面板或自定义隧道从桌面进行访问,但速度有点慢。无论如何,检查我的自定义隧道的情况很有用。
从远程创建隧道的命令:
/usr/bin/screen -dmS ssh-Ubuntu /usr/bin/ssh -o ExitOnForwardFailure=yes -R 2222:localhost:22 [email protected] -g
从桌面上我只需运行ssh -p 2222 pi@localhost
即可进入。但很多时候事情会发生这样的情况
kex_exchange_identification:读取:连接由对等方重置 连接由 127.0.0.1 端口 2222 重置
良久之后。
同时在另一个桌面 shell 中
sudo ss -tulpn | grep LISTEN
tcp LISTEN 0 128 127.0.0.1:2222 0.0.0.0:* users:(("sshd",pid=1145332,fd=9))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=542472,fd=3))
tcp LISTEN 0 128 [::1]:2222 [::]:* users:(("sshd",pid=1145332,fd=7))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=542472,fd=4))
并在远程:
ps aux | grep SCREEN
输出
pi 11726 0.0 0.2 8444 1976 ? Ss 13:07 0:00 /usr/bin/SCREEN -dmS ssh-Ubuntu /usr/bin/ssh -o ExitOnForwardFailure=yes -R 2222:localhost:22 [email protected] -g
我描述了我有时无法进入创建的隧道的问题之一。