SSH通过代理连接

Posted 关灯吃面

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH通过代理连接相关的知识,希望对你有一定的参考价值。

从目前网上的资料来看,通过代理来连接ssh有2种方式:

先来介绍一下Corkscrew

 1.解压并编译安装:

https://pkgs.org/download/corkscrew  下载deb软件包地址

安装deb软件包 dpkg -i xxx.deb

wget http://www.agroman.net/corkscrew/corkscrew-2.0.tar.gztar -xzvf corkscrew-2.0.tar.gz
cd corkscrew
./configure
make install

2.添加配置到ssh用户目录,/root/.ssh/config (编辑该配置文件)写入:

Host *
ProxyCommand corkscrew http-proxy.example.com 8080 %h %p

注意http-proxy.example.com为http代理地址(例如proxy.cmcc或者ip)根据实际更改,后面的8080为http代理端口。

如果HTTP代理需要用户名/密码验证,则需要写上代理验证文件。假设代理服务器是192.168.0.1:808。用户名密码是name:pass,打算存放在~/.ssh/proxyauth。则有

ProxyCommand corkscrew 192.168.0.1 808 %h %p ~/.ssh/proxyauth

新建/roo/.ssh/proxyauth文件,写上:

name:pass

接下来就可以直接连接了:

ssh root@112.33.9.154  -p 22

在第二次登录时就可看到上次登录ip,从而判断是否是通过代理连接了。

 

参考:

http://www.cnblogs.com/JoJosBizarreAdventure/p/5892355.html

http://bolg.malu.me/html/2011/1809.html

http://blog.csdn.net/asx20042005/article/details/7041294

 

以上是关于SSH通过代理连接的主要内容,如果未能解决你的问题,请参考以下文章

SSH通过代理连接

如何强制 Git 通过其 ssh 连接使用 socks 代理?

ssh隧道代理连接

Spring boot Resttemplate通过ssh隧道的动态代理设置连接不识别远程DNS

通过命令行通过 SOCKS5 代理打开 putty ssh 连接

使用 JSch 创建一个通过 SSH 隧道化的 SOCKS 代理