SSH作为Socks代理的简单方法

VPN在实际使用中也不一定方便,如果只是想简单上个网,恰好在国外又有可以ssh远程登录的服务器,那么可以很方便的将ssh作为隧道转化成Socks代理,具体方法如下:

Windows下操作:

在 putty 中设置好要登录的服务器 ip,并在“连接-SSH-通道”中设置:源端口6080 动态 自动,然后增加
保存后打开,使用账号和密码登录,这样就建立好 socks 5 代理.
在相关软件中设置好代理参数 socks5: 127.0.0.1:6080 后便可以使用.

Xshell 类似,在 SSH Tunnnel 里面设置,选择 Socks5.

Mac 和 Linux 中操作:

在终端中运行 ssh -D 6080 user@theserver ,然后在浏览器或者软件中设置好代理参数 socks5: 127.0.0.1:6080 后便可以使用.

推荐浏览器设置

推荐使用 Firefox 和 Chrome 等,然后安装相应的proxy一键切换工具,如 Chrome Falcon Proxy; Firefox Proxy Selector 等。 当然,如果自己写一个 pac文件来自动控制哪些网站使用proxy,那就不属于本文的范畴了。

su 出现 This account is currently not available

su 切换用户的时候出现 “This account is currently not available” 的提示,尤其是在 /etc/init.d/ 的文件里面,运行一些服务需要切换到特定的用户,如启动 tomcat 的脚本,需要切换到 www 用户,但是 www 用户在 /etc/passwd 里面的 shell 是 /sbin/nologin,那么在启动的脚本里面:

1
su www -c /opt/tomcat7/bin/startup.sh

这一句就会导致上述的报错。

解决的办法有几种,第一,运行 vipw 修改 passwd 文件,将其 shell 项改为 /bin/bash。第二种方法则是修改这条命令,改为:

1
su -s /bin/bash www -c /opt/tomcat7/bin/startup.sh

个人更喜欢第二种方案。第一种要修改系统的安全设置,不太建议。

RSYNC 同步数据

rsync 是同步、备份数据时的强大工具。

1
rsync -avz --password-file=rsync.ps user@192.168.0.206:/backup/dir /home/destdir

其中注意 -a 意味着 archive,即保留各种权限等,-v 表示 verbose, -z 则是压缩传输。 —password-file 要注意权限,以防被别人窥探,当然如果不是在脚本里面批量使用,就不需要这个选项了,直接交互输入密码更为安全。

一般在传输文本文件的时候加上 -z 选项,速度会快很多,但如果是二进制数据等,一般还是不要加的好。