SSH加密隧道用法以及配置

要架设SSH隧道的前提是你要有一台SSH服务器,SSH服务器的安装本文就略过了,百度搜索linux ssh服务器安装会有很多方案。本文主要介绍windows客户端putty和SSH服务器之间建立加密隧道的方法。

主要用途有,

1. SSH服务器在国外,可以通过客户端到SSH服务器的隧道实现代理科学上网

2. 访问一些远程的应用但想跑在加密的隧道上,而不是以明文传输,可以把远程的端口用隧道映射到本地

3. 服务器在内网,无法从远程直接访问,可以通过架设的隧道把服务器映射到公网上得SSH服务器,从而客户端可以直接访问SSH服务器。

这三个用途也正好对应SSH隧道的三个使用方法(Dynamic,Local,Remote),下面我会一一举例进行说明。

首先用putty输入SSH服务器地址,端口号,然后Connection -> SSH -> Tunnels. 配置好后(记得在Tunnels里输入IP,端口后要按Add才生效)连接SSH服务器,输入密码即可。并且要始终保持Putty打开,隧道才会存在,关闭Putty后隧道就消失了(当然你也可以用Plink放在后台运行,请自行百度)。 如下只会对Tunnels部门的配置进行说明,其它都是一样的。

1. 代理方式,只需要添加任意source port,然后选择Dynamimc。就会建立一条127.0.0.1:source port到SSH服务器的隧道并且通过SSH服务器代理。图中的source port是5555. 然后在浏览器的socks5协议中设置IP 127.0.0.1,端口5555就行了。

D01F0138-35B3-482F-94F7-F5D1F3A8CA4E

5F9D2B9D-8F21-42F7-A602-B761FB6441AF

2. 想访问SSH服务上得其它服务,但又不想明文传输,而是在加密的环境下,这时我们可以用SSH隧道,把SSH服务器上得服务映射到本地,这里要选择Local。以访问SSH服务器上得POP3 110端口为例。

如下配置就是把远程端口110映射到了本地110端口,所以只需要应用程序访问127.0.0.1:110,数据就会再加密的隧道中传到远方了。(注意Destination里边填的127.0.0.1,实际指的时SSH服务器本身)

178E4B39-4F09-463B-892D-681EA8D1B606

5862A340-AB3B-480D-AAFC-F5ECF1DF0505

3. 把在内网的端口映射到外网,然后客户端访问SSH服务器以达到访问内网服务器的效果。这里就需要选择Remote。比如我再内网有一台web服务器跑在端口80上,然后我在web服务器上把端口映射到SSH服务器的8888端口,客户端只需要访问SSH服务器的8888端口就会转发到内网服务器的80端口。

71129BE1-DB0E-4390-8869-0B2600C3F1E1

08F2BBD9-CECF-4BCA-A05A-8EF5B3999885

 

Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>