老规矩,先说结论:
#用于,未经测试$ssh-="nc--%h%p"user@
或者:
#如果代理服务器需要认证,可以使用nc的升级版ncat指定代理服务器的用户名和密码#用于 。在上使用ncat无法连接,原因不明$ssh-="ncat--proxy-typehttp/socks4/socks5--proxyproxy.net:port--proxy-authproxyuser:proxypwd%h%p"user@server.net
由于不明原因,在macOS上,Ncat某版本升级后,上述方式不再生效 , 起码7.91版本在macOS10.15.7上是不行的 。但Linux上没问题 。所以增加个socat的替补方案:
#主机:user@server.net#代理:http://proxyuser:proxypwd@proxy.net:30808$ssh-o\ProxyCommand='socat-proxy:proxy.net:%h:%p,proxyport=30808,proxyauth=proxyuser:proxypwd'\user@server.net
Scout本身很强大,但对代理的支持这部分貌似差一些,只支持SOCKSv4和HTTPProxy,不支持SOCKS5 。详情参考《socat初窥门径》 。
一、背景
有些时候 , 由于网络限制等原因,不能直接连通过SSH连到指定服务器,需要经过代理进行连接 。例如如下场景:
客户机:client.net
代理服务器:proxy.net,安装代理服务器软件,通过1080端口,提供Socket5代理服务
目标服务器:server.net , 在默认22端口,提供SSH服务
其中,
client.net
不能直接访问server.net
client.net
可以访问proxy.net
proxy.net
可以访问server.net
二、解决方案
使用SSH的ProxyCommand选项 , 配合nc/Ncat命令 , 实现client.net通过代理proxy.net,以SSH访问server.net 。
1、连接代理工具
(1)nc
macOS上常用这种方案 。但是nc不支持需要认证的代理 。
常用参数:
-X
指定代理协议
4
SOCKSv.4
5
SOCKSv.5(默认)
connect
HTTPSproxy
【ssh 通过代理连接服务器】
相关阅读
猜你喜欢
- 玫琳凯代理
- 味千拉面加盟代理招商 味千拉面加盟投资至少
- 玫琳凯护肤品代理玫琳凯代理 代理条件 加盟店怎么样
- 淘宝网店代理货源
- 深圳公司注册代理
- linux 中国◆开ssh代理源社区
- 供应成都戴尔 成都
- 玫琳凯加盟 代理条件 加盟店怎么样
- 派多格宠物店加盟代理招商 宠物店连锁 宠物店加盟排行榜
- 郑州房地产代理公司
