一半君的总结纸

听话只听一半君

在公司的脑残SSH 翻(防火)墙法

刚才发现在公司里Baidu网盘打不开, 研究了下….
适用情形: 公司封了qq,renren,豆瓣,等各种常用网站
只要你还能上网,外加公司IT不是太BT,一般都能翻,下面的例子是翻出公司回家,同理,如果你在国外有个ssh server,那就成了翻”墙”

这个的原理是 : The actual act of forcing your web traffic through another computer (and another port) is called SOCKS proxying,

需要的材料:

  • 在家里的 ssh server(比如tomato 或者 dd-wrt 路由器上的,或者开电脑当ssh server如果你不在乎电费的话)
  • 在公司如果是linux ,一般都有ssh client, 如果是windows,你需要putty

步骤如下:

  1. 家里的tomato 路由器开ssh server(大脑正常人都会)
  2. 在公司运行如下命令 假设你公司是linux系统的话
    ssh root@<your-ddns-domain> -p <port> -D <local-port>
    

    举例,假设你的ddns地址是 fucker.freeDns.com 那你要运行的可能是这样

    ssh root@fucker.freeDns.com -p 2345 -D 8080
    

    上面的命令的意思是连到 fucker.freeDns.com 的 2345 端口(默认是22,显然,不过你最好换成别的,正常公司一般22都封了,当然万一你公司大部分其他端口都封了,也许你可以试试443),-D后面的 8080 是之后需要在公司的电脑上的firefox里的Network settings里填的

    widnows的话就用putty,设置教程看这里
    有些地方的教程里ssh命令后面加了 -fN 参数,  -f 的意思是在后台运行 -N是Do not execute a remote command.  This is useful for just forwarding ports .

  3. 假设上一步已经连接到了家里的ssh server, 那现在只要在firefox里填入代理设置就行了,下图中1080那里填8080,因为之前我们设了-D 8080 ,如果你直接-D ,那默认就会是1080
    ssh

ps: 如果不想每次连ssh server的时候输密码,可以用ssh-keygen设定 ssh authentication keys,如果在windows下,PuTTy也有等同的生成 public/private key的工具PuTTYgen,步骤网上到处都有,在次不再赘述

linux的 key 文件在 ~/.ssh  , windows的一般在%USERPROFILE%\.ssh, 把public key的内容贴到ssh server设定里,就不用登录输密码了,例如tomato里是在

tomato_preferences

如果经常切换代理,可以装个firefox的代理的addon,一搜一大把,随便哪个都行
参考:


Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: