XShell--SSH端口转发

首先你得XShell连接到一个其他服务器,然后才能用ssh的端口转发功能。
统一称使用的机器为本地机,连接到的服务器为远程机。

一、Local

XShell--SSH端口转发_第1张图片

这个配置是什么意思呢?
注意这个“类型方向”是Local(Outgoing),所以源主机的localhost指的是本地机,目标主机就是想要建立连接的目的。这个配置的现象就是:你在物理机浏览器输入 http://localhost:8018 就通过 远程机 访问了163.com这个地址。配置的意思就是:通过远程机,将163.com:80映射到物理机的8081端口。

这个有什么应用呢?
和代理差不多,就是将远程机作为一个跳板,将本地机与目标主机连接起来。
比如下图的例子,我想连接到 192.168.1.2怎么办?
我先连接到SSH Server,然后再修改上面的配置(源主机 localhost:8081,目标主机192.168.1.2),然后就能成功连接了(直接ssh连接本机的8081即可)。
XShell--SSH端口转发_第2张图片

二、Remote

XShell--SSH端口转发_第3张图片
这个配置是什么意思呢?
注意这个“类型方向”是Remote(Incoming),所以注意了!!!!源主机的localhost指的是远程机,目标主机的Localhost指的是物理机。这个配置的现象就是:你访问远程机的3000端口的时候,远程机自己将消息连接到了物理机的80端口来,看到的就是物理机80端口的内容。

这个有什么应用呢?
如下图所示,如果192.168.1.*是公司的网络,我白天在192.168.1.2机器上办公,我并不能登录SSH Server,晚上还想在家加会班怎们办呢?
分两步走:
1、首先192.168.1.2 ssh登录到10.10.10.10,然后配置(源主机 localhost:3333,目标主机localhost:22)
或者,在192.168.1.2配置如下也可以

ssh -N -f -R 3333:127.0.0.1:22 10.10.10.10

2、回家后ssh访问10.10.10.10的3333端口,即可访问到192.168.1.2了
XShell--SSH端口转发_第4张图片

你可能感兴趣的:(网络协议)