我有一台工作站(以下称之为WS)连接在华为4G 路由器B315 上,运营商并没有分配公网ip,因此从公网到这台电脑经历了两层NAT,一层是运营商的,一层是华为路由器的。假设用户名为user_ws
。
我租用了一台有弹性公网ip的阿里云服务器(以下称之为ALY),假设它的公网ip为ali.yun.srv.ip,阿里云默认的安全组开放了tcp访问端口3389,阿里云的默认用户名是root
。
通过在工作站上设置SSH反向代理,可以通过家里的笔记本(以下成为PC)与WS建立SSH连接。
ssh -R ali.yun.srv.ip:3389:0.0.0.0:22 root@ali.yun.srv.ip
为什么是0.0.0.0:22
? 因为这个是本地的ssh端口,可以通过sudo netstat -tlpn
查看。
打开这个ssh的反向代理以后,就可以通过访问ALY的3389端口访问WS的user_ws
了。
ssh user_ws@ali.yun.srv.ip -p 3389
2020 年 5月 28 日更新:
ssh -R 指的是remote port forwarding ,后面紧跟的映射规则是: