红联Linux门户
Linux帮助

通过HTTP代理访问SSH服务

发布时间:2015-11-08 15:49:27来源:linux网站作者:

以下方法是错误的,最少在Ubuntu下是不行的。


Perl 脚本 ssh-https-tunnel 发送 CONNNET 请求到你的代理服务器,指示它打开一个到远程主机端口的 TCP 连接。然后它允许你通过标准输入/标准输出和这个端口通讯。

更新你的 ~/.ssh/config 文件。

Host www.example.com
ProxyCommand ~/.ssh/ssh-https-tunnel %h %p

把你的代理服务设置放在 ssh-https-tunnel 文件中

#### Configuration ####
my $proxy      = "my-proxy.company.com";
my $proxy_port = 80;

然后就可以通过 HTTP 代理服务来访问 ssh 了


实际可用的方法是:
1.安装一个connect-proxy,执行:sudo apt-get install connect-proxy
2.修改~/.ssh/config文件,增加:
Host 目标SSH服务器地址
ProxyCommand connect -H 代理服务器:80 %h %p
ProxyCommand必须是换行的
3.现在好了,可以访问了,执行  ssh 用户名@目标SSH服务器地址


注:
a.试验的时候记得把相关的参数换成符合自己环境的。
b.并且可以在connect 后面加-D打开connect的DEBUG模式。
c.ssh也有debug模式,加-v参数即可。


git HTTP代理服务器配置:http://www.linuxdiyf.com/linux/15445.html

ubuntu下通过privoxy将Socks代理转换为Http代理:http://www.linuxdiyf.com/linux/13715.html