1、ssh远程连接到Linux
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/38332303bbea3e863946d9f75cd4483105eb55a6.jpg)
2、打开代理设置面板,点击:view -> Tunneling Pane在弹出的窗口选择Forwarding Rules
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/75af02324b18512c99ff6013ad334884cce349a6.jpg)
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/57af657f860e7c75fafa4441650d3aceabd7bfa6.jpg)
3、在空白处右键:add。在弹出的Forwarding Rule,按照如图所示进行配置,Type选择“Local(Outgoi荏鱿胫协ng)”;Source Host使用默认的localhost;Listen Port添上monit的端口2812;Destination Host使用默认的localhost;Destination Port添上2812;Descripting根据自己需要进行描述,可以留空。配置完成后点击OK会弹出一个对话框,点击是的话会对当前会话进行保存,以后每次连接此ssh会话,开启此端口转发,我只是做演示,选择否。
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/0da37be7340f64783d2d060dfd3e21c2bad6b5a6.jpg)
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/e09173e89a618625739d765c3b04541bd00faaa6.jpg)
4、添加完成后在Forwarding Rules对话框可以看到图中所示的一行转发配置,确保Status的状态是“Open”,如果显示的是“Failed”可能是2812这个本地端口已经被占用了,可以尝试将Listen Port修改为其它端口进行重新设置。
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/304f0999e92abab87f4ed24a4814f1c594eea1a6.jpg)
5、至此,xshell已经将服务器的2812端口映射到本地2812端口,可以通过浏览器访问进行验证,结果如图所示:
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/906dbbcadce890484af2cf43130e5f20427192a6.jpg)
6、参数说明和扩展在Type选择“Local(Outgoing)”的时候,Source Host表示使用的本地ip地址,可以是localhost也可以是本地内网ip或者公网足毂忍珩ip,使用相应的ip便可以被本地网络的用户访问到,比如上例中,如果需要同ip段的同事访问2812的端口管理服务器,便可以设置成他可以访问到的那个ip地址;Destination Host表示服务器端的ip地址,可以是服务器本地的地址localhost或者是服务器可以访问到的一个ip地址,例如服务器同机房的某个ip,或者服务器可以连接公网的话,可以是公网上某台服务器的ip地址。下图中便是我将服务器同机房的另外一台mysql的端口转发到了本地,使本地的应用程序可以访问到这个mysql进行测试,添加完毕后原本因只有一个内网ip无法访问到的机房mysql数据库服务器,便可以像开在我本地的数据库服务器一样进行访问。
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/274e9635dd8a59de1d0930b5b370d5413b8c84a6.jpg)
![通过ssh开启代理[2]xshell进行端口转发](https://exp-picture.cdn.bcebos.com/51cd85cec7f88a7739d330f86e4a2f27e6eff8a6.jpg)