IT评测·应用市场-qidao123.com

标题: 通过公网服务器中转访问内网 Docker 容器的 反向SSH 服务 [打印本页]

作者: 我爱普洱茶    时间: 2025-2-23 12:16
标题: 通过公网服务器中转访问内网 Docker 容器的 反向SSH 服务
通过公网服务器中转访问内网 Docker 容器的 反向SSH 服务

1. 背景

你有一台运行在校内网的 GPU 服务器(机器 A),并且你只能访问该服务器上一个 Docker 容器的内部 shell。你需要在家里(机器 C),通过 SSH 毗连到这个 Docker 容器。由于校内网的限定,你无法直接从外部访问内网的机器。你有一台拥有公网 IP 的云服务器(机器 B),可以作为中转。
2. 解决方案

焦点思路:在 Docker 容器内部运行 autossh,创建反向 SSH 隧道到公网服务器,然后通过公网服务器中转访问 Docker 容器的 SSH 服务。
2.1. 环境预备


2.2. 具体步调

3. 常见问题及解决方案

问题可能原因解决方案公网服务器端口不监听1. ssh -R 命令未正确绑定到 0.0.0.0
2. 公网服务器 sshd_config 中 GatewayPorts 设置不正确1. 使用 ssh -R 0.0.0.0:8990:localhost:22 ... 确保绑定到全部接口。
2. 修改公网服务器 /etc/ssh/sshd_config,设置 GatewayPorts yes
或 GatewayPorts clientspecified
,并重启 sshd 服务 (sudo systemctl restart sshd
)。防火墙阻止毗连1. 公网服务器防火墙阻止了 8990 端口
2. 云服务器安全组规则未开放 8990 端口1. 在公网服务器上开放 8990 端口:
- iptables: sudo iptables -A INPUT -p tcp --dport 8990 -j ACCEPT
- firewalld: sudo firewall-cmd --add-port=8990/tcp --permanent
2. 在云服务器控制台的安全组规则中添加允许 8990 端口的入站规则。SSH 隧道不稳定网络波动导致 SSH 毗连断开使用 autossh 代替 ssh,比方:autossh -M 6000 -NfR 8990:localhost:22 root@113.44.147.146
,-M 参数指定一个端口用于 autossh 监控隧道状态。PyCharm 毗连失败PyCharm 设置错误,毗连信息与隧道设置不匹配仔细检查 PyCharm 中的 SSH 解释器设置:
- Host: 公网服务器 IP (比方 113.44.147.146)
- Port: 公网服务器上反向隧道监听的端口 (比方 8990)
- Username: Docker 容器内的用户名
- Password/Key: Docker 容器内用户的暗码或 SSH 私钥无法通过8990端口毗连到ssh未正确设置反向 SSH 隧道1. 确保已在容器内部执行反向隧道命令。
2. 检查公网服务器的 8990 端口是否处于监听状态:netstat -tulnp | grep 8990

3. 确保本地电脑没有防火墙阻止毗连到公网服务器的 8990 端口。容器内部ssh服务不可用容器内没有安装ssh服务,或者ssh服务没有运行1. 进入容器内部,安装 openssh-server
2. 确保ssh服务在容器内部启动,比方 service ssh start 或 systemctl start sshd
3. 更改容器内用户暗码,确保可以使用暗码登录。比方 passwd
4. 留意事项


5. 总结

这个方案可以在你只有 Docker 容器内部权限的环境下,通过公网服务器创建安全的 SSH 隧道,让你在家中轻松访问内网的 Docker 容器。 请务必仔细阅读每个步调,并在操作前做好备份。
参考文献

反向ssh隧道,dokcer没有公网ip:
https://blog.csdn.net/made_in_china_too/article/details/95373985?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-3-95373985-blog-128356067.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-3-95373985-blog-128356067.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=6
https://zhuanlan.zhihu.com/p/431396699
https://blog.csdn.net/chisuisi5702/article/details/126283977
https://www.cnblogs.com/makefile/p/ssh-rev-tun.html
https://dev59.com/uloU5IYBdhLWcg3wG0Ky
跳板机,假如dokcer有公网ip:
https://www.linuxserver.io/blog/2016-12-02-perform-multiple-ssh-hops-with-ssh-config
https://zhuanlan.zhihu.com/p/53792195
https://blog.csdn.net/github_28260175/article/details/100012157
https://www.cnblogs.com/fbwfbi/p/3702896.html
https://zhuanlan.zhihu.com/p/661802126
https://zhuanlan.zhihu.com/p/398789687
https://www.cnblogs.com/skypanxh/p/18499592
https://blog.csdn.net/qq_39407107/article/details/115468254
https://blog.csdn.net/HLBoy_happy/article/details/123462694
https://www.jianshu.com/p/afe423602ce3

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4