用ssh实现两台NAT后面的机器的间接通讯(Win or Lin)

原理非常简单,借助unixcenter或者其他两台机器都可以ssh上的支持转发的服务器做跳板就可以

下面说明步骤


1.架设ssh server

如果你是win,那么你需要在本机开一个ssh server,不要以为ssh server是linux的专利,win也有,OpenSSH for Windows,,基于cygwin移植安装步骤非常简单,关键是安装完成以后要同步导入本机用户和密码到里面去

[bash]cd C:\Program Files\OpenSSH\bin
mkgroup -l > ..\etc\group
#同步本地组
mkgroup -d >> ..\etc\group
#同步域组
mkpasswd -l > ..\etc\passwd
#同步本地用户帐户
mkpasswd –d >> ..\etc\passwd
#同步域用户
net start opensshd
[/bash]

然后就可以使用你的NT用户名和密码ssh到本机了

Linux下面假设ssh server不赘述

2.在A机上映射本地动态socks V5端口,假设为1080

[bash]ssh -N -D 1080 ihipop@localhost[/bash]

3.把A机本地的socks V5端口,这里为1080端口,和unixcenter上的某个没有被占用的端口映射起来,假设为8000

[bash]ssh -N -R 8000:localhost:1080 [email protected][/bash]

3.把unixcenter的已经和A机的1080端口建立映射的socks V5端口,这里为8000端口,和B机上的某个没有被占用的端口映射起来,假设为8110

[bash]ssh -N -L 8110:localhost:8000 [email protected][/bash]

这样,在B机上,就建立起来了一条映射链条

[Machine B]:8110->[unixcenter]:8000->[Machine A]:1080

这样,只要在B机上设置代理为本地8110端口,使用支持socks V5的浏览器就可以通过A机上网,比如,访问只对A机开放的A机所在的内网资源


参考黑孩儿日志:OpenSSH 端口转发原理


Author Info :
  • From:用ssh实现两台NAT后面的机器的间接通讯(Win or Lin)
  • URL:https://blog.ihipop.com/2010/03/934.html
  • Please Reserve This Link,Thanks!
  • 发表回复

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