通过ssh开启代理[2]xshell进行端口转发
2014-03-30 09:44
369 查看
工作中经常会遇到类似下面的问题:机房服务器上的某个端口只允许本地访问,如monit的管理端口2812端口,dell服务器的管理端口1311;机房某些服务器没有公网ip地址,只允许通过内网ip连接,如mysql服务器。这些问题有许多解决办法,这里我用xshell通过ssh开启代理的方式教你解决这个问题。
一个ssh账户,可以连接到一台Linux服务器
本地安装xshell(xmanager的一个组件,最新版本是xmanager4)
ssh远程连接到Linux
打开代理设置面板,点击:view -> Tunneling Pane
在弹出的窗口选择Forwarding Rules
在空白处右键:add。在弹出的Forwarding Rule,按照如图所示进行配置,Type选择“Local(Outgoing)”;Source Host使用默认的localhost;Listen Port添上monit的端口2812;Destination Host使用默认的localhost;Destination Port添上2812;Descripting根据自己需要进行描述,可以留空。配置完成后点击OK会弹出一个对话框,点击是的话会对当前会话进行保存,以后每次连接此ssh会话,开启此端口转发,我只是做演示,选择否。
添加完成后在Forwarding Rules对话框可以看到图中所示的一行转发配置,确保Status的状态是“Open”,如果显示的是“Failed”可能是2812这个本地端口已经被占用了,可以尝试将Listen Port修改为其它端口进行重新设置。
至此,xshell已经将服务器的2812端口映射到本地2812端口,可以通过浏览器访问进行验证,结果如图所示:
参数说明和扩展
在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账户,可以连接到一台Linux服务器本地安装xshell(xmanager的一个组件,最新版本是xmanager4)
步骤
ssh远程连接到Linux打开代理设置面板,点击:view -> Tunneling Pane
在弹出的窗口选择Forwarding Rules
在空白处右键:add。在弹出的Forwarding Rule,按照如图所示进行配置,Type选择“Local(Outgoing)”;Source Host使用默认的localhost;Listen Port添上monit的端口2812;Destination Host使用默认的localhost;Destination Port添上2812;Descripting根据自己需要进行描述,可以留空。配置完成后点击OK会弹出一个对话框,点击是的话会对当前会话进行保存,以后每次连接此ssh会话,开启此端口转发,我只是做演示,选择否。
添加完成后在Forwarding Rules对话框可以看到图中所示的一行转发配置,确保Status的状态是“Open”,如果显示的是“Failed”可能是2812这个本地端口已经被占用了,可以尝试将Listen Port修改为其它端口进行重新设置。
至此,xshell已经将服务器的2812端口映射到本地2812端口,可以通过浏览器访问进行验证,结果如图所示:
参数说明和扩展
在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开启代理[1]xshell开socket代理
- 通过ssh端口转发来上公司禁止的网站(如电商网站)
- linux通过端口转发登陆ssh
- 通过 SSH 实现 TCP / IP 隧道(端口转发)
- 通过 SSH 实现 TCP / IP 隧道(端口转发)
- Xshell通过SSH密钥、SSH代理连接Linux服务器详解
- ssh端口转发开启mysql“外链”
- virtualbxo 通过NAT端口转发方式实现xshell访问虚拟机Linux
- 使用Linux的SSH端口转发实现代理上网
- 使用SSH进行端口转发
- Apache开启Proxy代理,实现域名端口转发
- 使用SSH进行端口转发
- Xshell通过SSH密钥、SSH代理连接Linux服务器详解
- Windows下通过命令行进行端口转发
- pgcli通过SSH本地端口转发连接远程服务器上的PostgreSQL DB
- 通过花生壳、SSH远程端口转发,远程登录和传输数据
- 通过 SSH 端口转发实现异地内网服务器互通
- 利用Putty通过ssh端口转发实现FireFox和MSN加密代理访问