SSH 端口转发 - 案例,命令及服务器配置
三种转发类型
- 本地转发 -L
- 远程转发 -R
- 动态转发 -D
简单理解: ABC三台机 AC机器无法直接互通, 但是B分别能和AC互通, 所以AC通过B转发互通
本地 SSH 端口转发
将远程 server 的某个端口映射到本地的某个端口,通常用于A机器通过B登录C , 因为无法直接连通C,但是B可以连通C的情况
(如果是跳板机登录其他服务器,可以使用-J 参数跳转)
访问路径: 自己或者同局域网用户 --> 本机:Port --> SSH隧道 --> 跳转机 --> 远程服务:Port
Command:
ssh -L [本地主机:]本地主机端口:远程网络主机:远程网络主机端口 转发服务器
ssh -L 0.0.0.0:8080:HOST_C:8080 root@HOST_A # 本地主机可以忽略不写,默认是127.0.0.1
ssh -L 127.0.0.1:8080:HOST_C:8080 root@HOST_A # 自查127.0.0.1和0.0.0.0区别
Example:
* `ssh -L 8000:10.10.30.3:10000 10.10.20.2` # 通过ssh 登录 10.10.20.2 ,将远程10.10.30.3的端口10000映射到本地计算机的8000端口上
* `ssh -L 10086::10086 10.10.20.2` # 将10.10.20.2的10086端口映射到本地
远程端口转发
将本机(或本地局域网中其他服务器)某个端口,映射到服务器的端口上,通常用于提供给外网访问(因为服务器有公网IP鸭)