有一台远程主机的话,就可以通过ssh作代理了 原理如下
/ foo.com
浏览器ssh server – bar.com
\ example.com
然后在本机运行
$ssh -fND 6666 username@remote.ssh.server
6666是本地端口号,这样在本机就可以将localhost:6666 设为socks5代理
参数的解释可以看这里
Windows下可以用putty的后台命令行程序plink
见车东[Blog^2] 的 http://www.chedong.com/blog/archives/001246.html
$plink -N username@remote.ssh.server -D 127.0.0.1:6666
其中 -N 表示不需要shell
username@remote.ssh.server 替换成 -load sessionname 也可以
如何在Windows下使用密钥方式登录Linux服务器
如果设置需要基于密钥的登录(如果不设置密钥密码,就可以自动登录了),目前成功的方法是:
先在服务器上用服务器上用./ssh-keygen生成密钥对,将公钥 id_rsa.pub >>部署到要登录到的服务器上:/home/username/.ssh/authorized_keys 中.
密钥在Windows客户端下使用:将密钥id_rsa下载到本地,然后用puttygen导入id_rsa 另存转换为putty格式的密钥id_rsa.ppk即可。然后使用
plink -i c:\path\to\id_rsa.ppk username@example.com
登录。
补充:
为避免每次输入密码,可已将生成公钥将其部署到服务器上
$sshgen
它会在本机$HOME/.ssh目录下生成
id_rsa id_rsa.keystore id_rsa.pub
这几个文件,将公钥id_rsa.pub加到远程主机example.com的$HOME/.ssh下的authorized_keys就可以了。
参考 http://rainux.javaeye.com/blog/235777