您的位置:首页网络冲浪系统安全 → 如何使用SSH的Port Forwarding加密不安全的服务

如何使用SSH的Port Forwarding加密不安全的服务

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(0)

    如何使用SSH的Port Forwarding加密不安全的服务

吴阿亭 Jephe

  一。简介:

  大多数人知道SSH是用来替代R命令集,是用于加密的远程登录,文件传输,甚至加密的
  FTP(SSH2内置), 因此SSH成为使用极广的服务之一,不仅如此,SSH还有另一项非常有
  用的功能,就是它的端口转发隧道功能,利用此功能,让一些不安全的服务象POP3,
  SMTP,FTP,LDAP等等通过SSH的加密隧道传输,然后,既然这些服务本身是不安全的,
  密码和内容是明文传送的,现在其它中间媒介也没无监听了。

  二。图示:

  SSH的加密隧道保护的只是中间传输的安全性,使得任何通常的嗅探工具软件无法获取发
  送内容。如下图:
  假设客户机和服务器都运行Linux,且以POP3为例。


 C (pop3 server: S)S
  _______ ________
  | | ||
  | |________POP3___________ >||
  |_____| |______|
  (图一:正常的POP3)


  (图一:正常的POP3)


 C (pop3 server:C) S (pop3 client: S)
  _______ ________
  | | ||
  | |--------SSH连接--------->||
  |_____| |______|
 
 
  (图二:SSH隧道后的POP3)
 

  如图一: 正常的POP3连接是客户C向服务器S进行连接,C的设置是POP3服务器为S。
  如图二: 用SSH隧道的话,客户C设置pop3服务器为自己(localhost),然后设置SSH加密
  隧道
  ,如果设置在同样的端口110听取C的请求,则对C来说,pop3服务器是自己本身,端口也
  是110 对S来说,看到的pop3请求地址不是来自C,而也是自己本身,因为有了SSH隧道。



  三。SSH隧道设置

  1. 首先必须在C和S上安装SSH,确保SSH首先能工作。
  2. 我们用简单的一个命令如下:

  # ssh -C -P -f sshaccount@S -L 110:S:110 sleep 7200

  解释如下:
  -C 使用压缩功能,是可选的,加快速度。

  -P 用一个非特权端口进行出去的连接。

  -f 一旦SSH完成认证并建立port forwarding,则转入后台运行。

  sshaccount 客户C在服务器S上的SSH连接帐号

  -L 110:S:110 转发C对本地端口110的连接到远程服务器S的110端口。
  也可以用高端端口(普通用户使用,因为普通用户不能在低于1024的端口上建立SSH隧道)
  如果用高端端口,如:-L 1110:S:110,这样任何用户都可建立这种加密隧道。

  sleep 7200 一般用于script,必须给一个命令,我们给一个sleep等待空 命令,这里为
  2小时,你可以
  设为更长用于保持整个连接过程, 如 sleep 100000000 。

  四。检验

  设置后你就可以在客户C上用 # telnet localhost 110 命令而连到 S 上收取email,
  而整个过程也被加密。

  五。其它常见问题:

  1. 每次启动该命令时需要输入密码以验证SSH连接,你也可以用RSA键对的方法自动化
  SSH连接。
  看文章荟萃中的另一篇文章《如何在两台linux服务器之间用RSA键对的方法SSH/SCP不需
  密码》

  2. 如果你希望上面的命令永远保持运行状态,你可以用如下的scripts.
  #!/bin/sh
  while [ 1 ] ; do
  ssh -C -P -f sshaccount@S -L 110:S:110 sleep 7200
  sleep 1
  done

  3. 你可以在一个命令中用多个L 参数 ,如 -L 1110:S:110 -L 225:S:25 -L
  389:S:389

  4. 一些windows客户端软件,象netscape mail,不能改变pop3端口号,被强迫到110,
  则你只能指定110

  5. Linux下的fetchmail常用来自动接收邮件,可在.fetchmailrc中利用
  preconnect参数预连接 ,指定上面的命令行。

  6. 如果客户端是windows, 则可用tera Term pro,参考
  http://www.phys.washington.edu/Computing/winftpssh.html


 


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 U盘传播的病毒 _ U盘病打开U盘才不会中毒的方 alg.exe是什么进程?能不能关闭?nsis error是什么?及解决方法蓝屏错误代码解析 看代码解决问题dotnetfx.exe是什么

人气排行 alg.exe是什么进程?能不能关闭?qq修复工具怎么用如何更改ie收藏夹地址位置(路径)无光驱,无U盘启动,怎样重装系统?nsis error是什么?及解决方法Generic Host Process for Win32 开机后总是六种修复崩溃后WindowsXP系统的技巧exp1orer.exe 病毒清除办法