ssh隧道及转发技术应用场景三例
转载自:http://blog.51cto.com/koumm/1318975
ssh隧道技术在实际环境中时不时都会用到,最近一段时间以下三种方式都有用到过。原因就是各现场网络环境的多种多样,下面分别介绍三种应用场景。有可以通过ssh命令来实现,也可以通过SSH工具来实现,本文采用secureCRT工具来实现,仅以此做一下记录与整理,通常一些小的技能解决大问题。
本文连接:http://koumm.blog.51cto.com
场景一:
说明:一个互联网用户需要访问公司内网服务器,该服务器不对外提供服务,只是对于管理需要,在防火墙上开了ssh映射端口用于管理内网服务器。对于内网服务器上其它服务的访问无法直接访问的。现有一个需求,需要访问内网服务器的桌面图形环境,需要通过VNC来访问内网服务器桌面。
1.环境准备
说明:由于没有真实防火墙,这里简化一下环境,只用一台服务器来模拟。只有ssh能登录,就可以通过ssh隧道来承载VNC的访问。
这里采用secureCRT工具来实现。
说明:ssh连接访问内网服务器成功上,通过访问本地的5901端口实现VNC的访问。
2.本地VNC方式访问
说明:由于没有真实防火墙,这里简化一下环境,只用一台服务器来模拟。只有ssh能登录,就可以通过ssh隧道来承载VNC的访问。
(1)ssh登录。
(2)通过VNC工具访问localhost:5901端口。
成功实现的VNC的访问。
场景二:
说明:与场景一的情况一样,现有一个需求,需要通过内网服务器访问内网服务器2的VNC。
1.环境准备
说明:由于没有真实防火墙,这里简化一下环境,只用一台服务器来模拟。只有ssh能登录,就可以通过ssh隧道来承载VNC的访问。
(1)这里采用secureCRT工具来实现。
名称随便,主机名填写内网服务器2(只要可以访问的服务器),默认就是内机IP。
(2)VNC访问
成功访问了内网服务器2.
场景三:
说明:一个互联网用户需要访问公司内网服务器,该服务器不对外提供服务,在公司防火墙后面,防火墙上也没有开启映射端口,这种情况正常情况下互联网用户是无法直接访问的。但是内网服务器可以访问互联网上的一台服务器,可以通过互联网服务器来实现ssh端口转发,实现互联网用户访问内网服务器。
说明:这里也是模拟内网服务器192.168.1.102,互联网服务器192.168.1.103。
1.事先内网服务器访问互联网服务器
1
2
3
4
5
6
7
|
执行后要求输入 103 服务器root用户的密码
如果密码正确,则服务器上会开启一个 127.0 . 0.1 : 12345 的侦听端口,具体该命令的含义是:
-p 22 #指定访问服务器的sshd服务端口为 22
-f #要求在执行命令前退至后台 -N #不执行远程命令.用于转发端口. -R 12345 :localhost: 22 #将服务器的 12345 端口转发到客户机的 127.0 . 0.1 的 22 端口
|
2.互联网用户也ssh访问问互联网服务器上
可以查看到前内网服务器登录端口12345。
3.在互联网服务器上再ssh访问此端口即可访问内网服务器
1 |
# ssh -p 12345 localhost
|
三种场景记录完毕。
date:2018/7/14
输入密码后出现该错误:Warning: remote port forwarding failed for listen port 12345
参考:http://www.it1352.com/325513.html
ssh -p 22 -f -N -R 12345:localhost:22 -o ExitOnForwardFailure=yes [email protected]192.168
.
1.103