newchao 发表于 2009-10-9 11:45

使用putty通过ssh让cmwap达到cmnet的效果

以前是经常使用putty管理FreeBSD的服务器或者用plink翻墙(前辈说:普及翻墙知识是一种光荣!)

最近受论坛兄弟 zazaaz和 Black-Xstar 的启发
【转帖】转帖自建SSH服务器突破CMWAP限制
http://www.ibmnb.com/thread-884426-1-2.html

写了这个方法,应该说是整理吧。

首先下载putty的程序:
http://blog.newchao.com/post/854/

然后打开putty

在session里面填入host name, port


在connection中的proxy填入cmwap代理的地址端口和DNS解析方式


在ssh中选中Enable compression


在Tunnels中选中Dynamic,source port中填入7070端口,然后add


连接后输入已有的ssh帐户和密码,连接成功就能使用了。

ssh帐户和密码的获得可以参考 cherfz 兄弟的回帖
http://www.ibmnb.com/viewthread.php?tid=884426&page=1#pid12912188

最后在浏览器或者程序中代理地址填入地址 localhost 端口 7070,当然也可以直接用proxifier连接本地端口。

这个方法的好处是加密压缩传输,另外家里有dd-wrt或者tomato的,可以在路由上面把原有的ssh功能打开,就免开服务器和电脑了。

估计是因为开启了数据压缩的功能,在连接速度不变的情况下,变相的提高了传输速率,感觉比我以前的方法【使用代理链让cmwap达到cmnet的效果】上网更快(这个方法我也发在51nb了的),但以前的方法中的socks等比ssh的免费代理更好找。



路由中dd-wrt开ssh的方法(ssh服务器的架设)

(转帖,方法大概如此,我的belink dd-wrt好像有问题,本来想抓几个图自己写的,没办法了我就直接转了)

  第一步:首先打开DD-WRT的ssh功能(DD-WRT是用dropbear这个ssh服务端作为ssh daemon服务),方法是登陆路由web管理界面->服务(Services)->找到Secure Shell(安全外壳)->选择启用->密码登录也选择启用->端口填入80。

  第二步:通过管理->找到“远程管理”->启用ssh管理->ssh端口填入80来允许从Internet进行ssh登录(第一步只是开启了内网的ssh登录)。(如图2)

  第三步:如果你不是使用80作为ssh端口,那么可以跳过此步设置。由于web管理界面是要用到80端口作为http服务的,所以刚才设置好ssh端口,重启后端口冲突,会导致ssh服务(dropbear进程)启动失败,因此我们必须把web管理界面的http服务端口改到其它端口。具体命令为通过管理->选择下面一排的"诊断"(Diagnose)标签,在"命令"中粘贴以下命令。之后点击"保存启动命令",再重启就可以了。

  killall httpd

  cd /www

  httpd -p 81 -h /www

  dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 80

  小提示:

  以上代码实现的原理就是让路由在启动后自动先杀掉httpd服务,再把该服务重新启动到81端口,最后再启动ssh服务(dropbear)到80端口。当然我们还可以telnet到路由,用nvram命令更改httpd以及ssh服务的端口,然后输入以下指令来实现。

  # telnet 192.168.1.1

  # nvram set rc_startup="

  > killall httpd

  > cd /www

  > httpd -p 81 -h /www

  > dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -d /tmp/root/.ssh/ssh_host_dss_key -p 80

  > "

  # nvram commit

  输入第二行(nvram set rc_startup=")后,提示符会从#变成>,这时候再输入需要自动执行的命令,最后输入双引号回车结束,而nvram commit是把刚才需要执行的命令保存到路由的flash,这样掉电重启才有用另外可以用nvram get rc_startup查看输入的命令是否正确)

  第四步:设置一个动态域名,DD-WRT支持3322的动态域名,方法是设置->DDNS(动态DNS)->DDNS服务中选择3322.org,用户名密码和主机名可以到www.3322.org免费注册->类型选择动态(主机名填你申请好的完整域名:xxxx.3322.org)。

  第五步:路由设置已经完成,下面在你公司的电脑上,需要用ssh登录你的路由,然后在本机开一个代理供你自己使用(以翻越公司的防火墙)。我们可以通过两个软件来实现连接功能。一个是MyEntunnel(http://nemesis2.qx.net/software-myentunnel.php),另一个就是putty了。由于篇幅关系我们主要讲解putty的使用。填入路由动态域名和端口,设置本地代理的端口,注意要选择Dynamic,端口一样随便自己喜欢,上两步设置好后选择open,填入用户名密码登录后即可。(如图3)

  小提示:

  putty不可以最小化到托盘,可以用"Minimize To Tray"这个软件将窗口最小化到右下角任务托盘。

  第六步:设置IE或者其它浏览器的代理,该代理为socks5代理,以IE6为例打开IE浏览器找到菜单中的“Internet选项->连接->局域网设置->勾上为LAN使用代理服务器->高级”。在IE设置好后,MyIE,GreenBrowser可以选择使用IE代理,或者直接添加一个socks5代理。这样不管公司封锁端口,如何封锁关键字,只要开放80端口,我们都能像在家里上网一样,访问互联网了。有机会你可以把路由放到国外,这样就能突破更多的网络限制了。

补充:其实不需要putty了,用MyEnTunnel最好,在后台直接调用plink,而且可以缩小到托盘。
另外dd-wrt中可以直接修改nvram,我以前把dd-wrt的nvram导出仔细研究了的。
ssh的nvram命令如下:
sshd_wanport=22(改个直接修改ssh端口,不需要那么麻烦)
sshd_enable=1(启用ssh demon)
http_wanport=8080(修改web管理端口)

因为路由很长时间没使用,今天通电后lan1的灯不停的闪,不知道怎么回事,所以没有dd-wrt可以测试,或许我说的方法有遗漏。


新发现,在putty中把设置存为default setting后,在plink中直接可以调用设置不需要考虑wap 172的代理,而使用MyEnTunnel是能直接缩小到托盘的,免除了另外开个窗口的麻烦,而且MyEnTunnel支持断线重连,爽啊。


MyEnTunnel下载:http://blog.newchao.com/post/854/

在putty中proxy里设置好了wap http代理,保存session为default setting后,关掉putty,再用plink和MyEnTunnel连接的时候是自动通过了wap代理的,意思他们的代理设置是调用了putty的保存的设置。


这个方法,自己有能开ssh的路由就不用到处找代理什么的,也不需要开主机和电脑,毕竟路由一般都是开着的,另外的好处就是数据是压缩的,如果你路由带宽还可以的话,上网速度感觉会快了许多,还就是有国外ssh帐户和密码的,天然翻墙哦,这个就是不用wap上网都可以使用。:D

我的博客:http://blog.newchao.com/

[ Edited bynewchao on 2009-10-16 09:12 ]

msvcp60 发表于 2009-10-9 11:57

顶啊,好帖子,正好有服务器可以用 :D ,SSH我一般也用PUTTY来管理FREEBSD

xmtoday 发表于 2009-10-9 12:01

留名。。

方便面 发表于 2009-10-9 12:11

强帖留名,继续学习。

xxlmmf 发表于 2009-10-9 12:14

呵呵。。。SSH穿透

duanyanfeng 发表于 2009-10-9 12:19

学习学习

xeonet 发表于 2009-10-9 13:01

留名备用!!!!!

tdq_777 发表于 2009-10-9 13:10

看来又有得搞了

haggy 发表于 2009-10-9 13:13

我靠!nb!绝对的!

syztoney 发表于 2009-10-9 14:32

thanks i need it :P :P

wang372901 发表于 2009-10-9 14:34

又一个强人.

abc666 发表于 2009-10-9 14:41

学习中^:^

surely2008 发表于 2009-10-9 14:56

试用效果如何啊?

zazaaz 发表于 2009-10-9 15:41

呵呵留个脚印先,晚上回去研究哈

ostar 发表于 2009-10-9 15:53

hao .good

cqyk 发表于 2009-10-9 15:57

留个脚印

142234 发表于 2009-10-9 16:33

是穿过cmwap把?始终要走172的。所以不叫绕过。

pl987 发表于 2009-10-9 16:40

学习下,帮顶。

linyinlhx 发表于 2009-10-9 16:43

学习下 标记

newchao 发表于 2009-10-9 16:54

Posted by 142234 on 2009-10-9 16:33 http://www.ibmnb.com/images/common/back.gif
是穿过cmwap把?始终要走172的。所以不叫绕过。
谢谢提醒,我改了,让cmwap达到cmnet的效果。
:D

qq3135665 发表于 2009-10-9 16:54

很久没看技术帖了,谢谢楼主,有些问题想请教下,可以告诉我你的qq吗?

lzl2274690 发表于 2009-10-9 17:56

很喜欢这种类型的帖子```

swawa 发表于 2009-10-9 18:02

又找到开始折腾的理由了…

Black-Xstar 发表于 2009-10-9 21:15

支持下,呵呵。继续纠结dns解析问题。

hh968 发表于 2009-10-9 23:33

开始找支持tomato的无线路由了!
顺便问一下,有谁见过带猫的无线路由(要支持tomato的!)吗?

hzichzic 发表于 2009-10-9 23:51

强啊!nb就是nb。

uc|234 发表于 2009-10-10 00:05

留爪。备学

zazaaz 发表于 2009-10-10 01:12

呵呵,兄弟知道这么在路由器上架设SSH嘛?关键还是ADSL动态IP的啊,知道的话不如再写个教程啊,毕竟免费的SSH不大好找,还是自己建的来的安逸啊

[ Edited byzazaaz on 2009-10-10 02:24 ]

356105868 发表于 2009-10-10 08:02

ding试试

newchao 发表于 2009-10-10 10:20

Posted by zazaaz on 2009-10-10 01:12 http://www.ibmnb.com/images/common/back.gif
呵呵,兄弟知道这么在路由器上架设SSH嘛?关键还是ADSL动态IP的啊,知道的话不如再写个教程啊,毕竟免费的SSH不大好找,还是自己建的来的安逸啊

[ Edited byzazaaz on 2009-10-10 02:24 ]

这个比较简单

dd-wrt里面直接打开ssh就可以了,ADSL IP可以搞个动态域名,里面有3322等免费申请。
页: [1] 2 3 4
查看完整版本: 使用putty通过ssh让cmwap达到cmnet的效果