首页 » 技术分享 » ssh连接如何使用代理

ssh连接如何使用代理

 

前言

我最近将公司电脑系统换成deepin了,感觉体验不错。

没了windows之后如何登录腾讯云呢?以前还有个xshell或者mobaXterm可以设置代理,现在要通过命令行登录了。

网上用ssh隧道来翻墙的教程比较多,通过代理连接ssh的文章相对较少,这种方法适用于网络中防火墙屏蔽了ssh协议,或者其它原因无法通过ssh直连服务器的情况。配置好后ssh流量会通过指定的代理中转,从而突破防火墙的限制,主要用到了ssh clientProxyCommand选项,需要配合第三方代理软件。

Corkscrew

Corkscrew是专门为ssh提供http代理的软件,要使用corkscrew需要http代理支持HTTP CONNECT方法,建议使用squid或者ATS这类专业的代理软件,代理不建议设置认证
1. 安装Corkscrew
访问Corkscrew的github地址,在release中下载最新的发布包
下载完成之后,在终端中执行如下命令:

tar -zxvf corkscrew-2.0.tar.gz
cd corkscrew
sudo ./configure
sudo make && sudo make install

安装完成,在终端中就能看到corkscrew这样一个命令了。
2. 设置ssh
~/.ssh/下新建一个config文件,然后输入一下内容,具体配置请根据自己的实际情况填写

Host txy # 别名,设置为*表示所有ssh连接均使用此代理
Hostname 111.230.235.234
User ubuntu
Port 22
# IdentifyFile 证书地址,这里不设置
ProxyCommand /usr/local/bin/corkscrew 192.168.0.1 88 %h %p

因为我这里使用的同花顺代理需要认证,所以还得新建一个文件来存放认证的信息。

vi ~/.ssh/myauth
## 输入如下内容,格式为[代理用户名]:[代理密码]
xxx:xxx

最后修改~/.ssh/configProxyCommand命令,在最后面加上认证文件的地址:

ProxyCommand /usr/local/bin/corkscrew 192.168.0.1 88 %h %p ~/.ssh/myauth

3. 启动ssh连接
因为已经设置别名,所以我们可以直接通过ssh txy的方式启动ssh连接
ssh

结束

原文请查看https://andyliwr.github.io/2018/01/12/linux_ssh_proxy/

转载自原文链接, 如需删除请联系管理员。

原文链接:ssh连接如何使用代理,转载请注明来源!

0