ssh 通过代理连接服务器

2023-10-11 13:34| 发布者:网赚吧顾问| 查看:6| 评论:0

摘要:老规矩,先说结论:#用于,未经测试$ssh-="nc--%h%p"user@或者:#如果代理服务器需要认证,可以使用nc的升级版ncat指定代理服务器的用户名和密码#用于。在上使用ncat无法连接,原因不明$ssh-="ncat--proxy-typ ...

老规矩,先说结论:

#用于,未经测试$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隧道代理方法
  • windows下用ssh做代理的方法
  • ssh 代理设置
  • 透过代理连接ssh Lainmes Blog
  • linux 中国◆开ssh代理源社区
  • ssh代理
  • 透过代理连接ssh Lainmes Blog
  • ssh 代理设置
  • ssh 通过代理连接服务器
  • 分享到: QQ空间 新浪微博 腾讯微博 人人网 微信 百度 复制网址

    鲜花

    握手

    雷人

    路过

    鸡蛋

    最新评论

    相关分类

    图文热点

    热门推荐

    返回顶部 关注微信 下载APP