Tomato Dualwan 做 SSH 加密 代理

Posted by 老沙
5月 19 2010

先来表达一下不满,有的单位的网管就是吃多了。封这个,封那个,没事找事。有本事你就别开外网,开了外网总是有办法穿透的。就像某党弄的网络长城一样,有真正长城那么好用吗????!!!!!!!!

下面是正题。

虽说TT全功能版是有VPN服务器功能的,但是已经被封,用不了,因为端口是不能变的。所以有能用SSH功能了。TT无法在管理WEB中加入多个用户,所以只能到SHELL里操作。

先启动WEB管理中的 系统管理->JFFS2设置 开启 并格式化

再到 系统管理->访问设置 中改掉原来的密码。改成你想新建立的用户使用的密码(因为密码存储是加密的,所以要得到密码加密后的结果)

连接SSH 键入命令 cat /etc/shadow

root:$1$TFGPEA$g/l3FMuNtLsgRjQLOA/:0:0:99999:7:0:0:
admin:$1$TFGPEA$g/l3FMuNtLsgRjQLOA/:0:0:99999:7:0:0:
nobody:*:0:0:99999:7:0:0:
nas:*:0:0:99999:7:0:0:

复制第一行root: 和后边冒号之间的安符串,不包括前后的冒号,这时就是$1$TFGPEA$g/l3FMuNtLsgRjQLOA/
然后到 系统管理->访问设置 把密码再改回原来的

然后复制密码文件到/jffs 目录 cp /etc/shadow /jffs/shadow

编辑密码文件 vi /jffs/shadow 在最下边一行加入ssh:$1$TFGPEA$g/l3FMuNtLsgRjQLOA/:0:0:99999:7:0:0:

ssh后边的冒号之间是刚才记下来的密码.

最后就是到 系统管理->脚本设置->开机时 输入以下内容

sleep 30
echo ssh:x:101: >> /etc/group
echo ssh:x:101:101:ssh:/tmp/home/ssh:/bin/sh >> /etc/passwd
cp /jffs/shadow /etc/shadow
mkdir /tmp/home/ssh
chown ssh:ssh /tmp/home/ssh

基本上就完了,路由开启后30秒会自动建立新用户。

SSH代理的好处是加密,我在这个要代理的朋友那里试过socks代理,结果是用不了,应该进行了包过滤。那可是世界500强的单位设备一定是不俗.http更是不用说了。SSH以出色的加密传输打败了那要死的设备(应该是人)

缺点:看到最后的语句,可能有人会问,组和用户可以用echo来加入,密码为什么要复制文件呢。答案是,我试过了密码用重定向加入到文件中,结果进去一看,是不对的。所以用了这个复制文件的笨方法。所有用户的密码全都在这里。也就是说,你在WEB管理页改了密码,在每次开机30秒,就会变成原来的密码(就是这个文件里写的)

最后到 系统管理->访问设置 中开启SSH 并先取 使用密码登陆 设定远程端口(我用的80,只要能上网的地方,就行)  

5 Responses

  1. test说道:

    可以这样改进:
    1、用echo的话,要把密码字符串中的特殊字符转义,像$ /之类的,用$ /代替
    2、可以把最后要加的那个用户单独写一行,保存成文件。后面用cat filename >> /etc/shadow添加到原文件中

  2. ipsound说道:

    太好了。回去试试。
    我这两天正在弄这个。VPN,SSH都弄了,美好。:(

  3. ipsound说道:

    还是没成啊。

    用Tunnelier试了一下,看日志,第一次交换密钥时就停止了。一直没响应。

    是不是公司防火墙阻止了?

  4. 小杰说道:

    可能是阻止了,也可能是你的路由设置没开外网连SSH,你先打开外网的SSH许可,然后把SSH口改成80,这样只要能上网,就能连上SSH。
     

  5. ipsound说道:

    好久没来。谢谢你的回复。

    我尝试过了。SSH端口改在80,然后在局域网里设置成不同的地址段模拟外网,能正常连接。但是在公司里不行。
    后来我试了OPEN VPN,也不行。

    不过最终,我开了PPTP的VPN,行了。

    看起来是公司防火墙的设置吧。。。。。

Trackback URL for this entry