通过代理访问ssh

很多公司都有这样的限制:要求必须通过某个代理服务器上网。我上家公司做的比较狠,不开放connect方法,而对需要使用https的网站实行白名单。

要想通过http proxy访问ssh服务,那么这个proxy必须支持connect方法。

我之前一直用的是netcat,配置文件这么写:

Host scm
HostName sunchangming.com
User cm
Compression yes
ProxyCommand /bin/nc -X connect -x proxy.com:8080 %h %p

其中修改下-X参数,就可以支持socks4或者socks5。

某些发行版(比如老版本的cygwin)的netcat都不支持-X参数。于是我只好另寻它方。今天先找到了proxytunnel 。

Host *.maemo.org
Compression yes
ProxyCommand /usr/bin/proxytunnel -p proxy.com:8080 -d %h:%p

然后利用dput+proxytunnel上传软件包。但是cygwin没有proxytunnel,不过有connect-proxy 。还好,大同小异。

Host scm
HostName sunchangming.com
User cm
Compression yes
ProxyCommand /usr/bin/connect-proxy -H proxy.com:8080 %h %p

其中-H代表http proxy,换成-S就是socks。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥