ssh两条命令,实现内网穿透
ssh两条命令,实现内网穿透
ssh的功能灰常强大,除了平时用于终端,其实还有一些更实用的功能。比如本地/远程端口转发,动态端口转发 等。本文介绍的就是基本ssh的端口的本地/远程端口转发,实现内网穿透的实战
先决条件
- 你需要要有一台
公网的服务器
(有没有域名都可以,但需要有公网可访问的ip噢)[后文用ali‐yun
作为公网标记] - 家里/公司有一台可以连接至外网的机器[后文用
house
作为标记]
实战
方法一:
这种是一种比较复杂的方法
配置思路:在 house
上做到 阿里云服务器
的反向代理;在 B 机器上做正向代理本地端口转发。
house
机器利用ssh -R,建立通道
ssh -R 8081:localhost:8443 用户名@阿里云的ip
根据提示输入密码.到这里house
的8443端口已经映射到阿里云服务器的8081端口,可以在通过服务器的8081(记得去ECS开启安全组)端口访问house
的8443端口,但注意只支持阿里云服务器本地访问。
ali-yun
机器利用ssh -L,将本机端口共享出去
note: 建立
阿里云服务器
上的正向代理用作本地转发(在阿里云服务器
上操作)因为绑定后的端口只支持服务器B本地访问,所以我们需要把已经映射的端口转发出去。
ssh -L *:8081:localhost:8082 root@localhost
现在可以通过阿里云服务器
的8081端口访问到house
的8443端口。
方法二:
**直接建立一个可对外访问的连接 **
- 修改公网机器的/etc/ssh/sshd_config
GatewayPorts yes
- 重启sshd服务
systemctl restart sshd
- house 机器直接建立连接
ssh -R 8081:localhost:8443 用户名@阿里云的ip