linux ssh 隧道 tunnel 一般场景用法

SSH Tunnel 顾名思义就是 SSH 安全隧道,平时看别人的相关帖子的时候很多时候可能看不太明白讲的是几个意思,这里我们约定一下说法的含义:

  1. “ HostA 可以访问 HostB ” 意思是在机器 HostA 上,可以通过 SSH Client 远程登陆到机器 HostB 上。
  2. 下边 Sequence 图中,箭头方向就是机器间可以访问的方向。
  3. 下边 Sequence 图中,命令在箭头 起点端的机器 执行。

用流程图表示为:

HostAHostAHostBHostBssh HostBUser1@HostB此时已登陆了HostB的terminal

 

SSH 的 -L, -R, -D 三种用法

ssh -L 用法(本地起端口映射到其他机器)

HostAHostAHostBHostBHostCHostC[执行1] ssh -L 8888:HostC:22 UserB@HostB[效果] ssh -p 8888 UserC@localhost

意思是在 HostA 上,让 localhost 起 8888 端口,使之映射到 HostC 的 22 端口。如此,在 HostA 上可以使用 localhost:8888 就像使用 HostC:22 一样。

关键命令:

HostA$ ssh -L 8888:HostC:22 UserB@HostB

ssh -R 用法(非本地起端口映射到其他机器)

HostAHostAHostBHostBHostCHostC[执行1] ssh -R 8888:localhost:22 UserB@HostB[效果] ssh -p 8888 UserC@HostB

意思是在 HostC 上,让 HostB 起 8888 端口,使之映射到 localhost 的 22 端口。如此,在 HostA 上可以使用 HostB:8888 就像使用 HostC:22 一样。

HostC$ ssh -R 8888:localhost:22 UserB@HostB

ssh -D 用法(本地或非本地起 Socket Proxy)

  1. 本地的代理服务,通过 localhost:22 隧道入口建立
HostA$ ssh -D 8080

此时 localhost:8080 就是本地的 Socket 代理服务器。效果,即浏览器配置了 本机IP:8080 Socket5 的代理后,就可以像在本机上一样访问网站资源了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值