IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    让 SSH 走代理连接服务器

    R0uter发表于 2016-10-21 16:32:19
    love 0

    去落格博客阅读完整排版的让 SSH 走代理连接服务器

    很多网络运维、或者站长需要通过 ssh 来管理服务器、vps,如果不凑巧,你和服务器之间相隔了一堵 GFW,那么由于 GFW 会分析 ssh 数据包,结果就是导致稍微慢一点的网络就会让命令卡一分钟。

    GFW 现在完全有能力分析 ssh 流量特征,以判断你是在真的使用 ssh 配置服务器,还是使用它作为代理来浏览网页。

    如果有什么好的办法让ssh像浏览器那样指定翻墙就好了。

    事实上,还真有。

    ProxyCommand

    这是 ssh 自带的一条命令,它能够允许ssh通过一个现有的ssh会话来发送命令。简单来说,就是能够允许 ssh via ssh。

    ——那么,我们需要两个vps咯?

    其实不然,我们还要使用到下面的一个工具:

    Corkscrew

    它让上文中提到的 ProxyCommand 以为一个 Http 代理是 ssh,这样,就实现了 ssh via http代理。

    对于 macOS 来说,安装也很简单,直接使用 Brew 安装即可:

    brew install corkscrew

    总之,你还需要一个 http 代理,目前来说,几乎所有的 shadowsocks 客户端以及其他各种代理客户端都会提供 http 和 https 代理——这里作为我本地环境,使用的是 surge, 它的本地默认 http 和 https 端口是 6152

    所以,我们编辑文件~/.ssh/config (如果没有就创建一个新的)里边加入新内容:

    Host *
            ProxyCommand corkscrew 127.0.0.1 6152 %h %p

    这样就默认对所有的 ssh 回话启动这条命令了——当然,有surge作为后端自动选择线路,所以对所有会话都启用也无所谓了。

    怎么使用智能选择路径?对我来说目前我已经在使用白名单了。

    这下,再如同往常一样使用ssh命令登录服务器吧,记得登录之后再退出再登录,这样你就能看到上一次登录的 IP 地址了,它应该已经是你前置代理的出口地址了 :)

    什么?你说 VPN ? 别搞笑了,gfw打vpn准确率也差不到哪里去。

     

    让 SSH 走代理连接服务器,首发于落格博客。

    其他推荐:
    1. 让 Homebrew 走代理更新
    2. 让 pip 走代理
    3. 在 OS X 10.11 上编译 Twister
    4. brew update 慢 解决办法 镜像更新源
    5. Homebrew update 遇到 Error: Failure while executing



沪ICP备19023445号-2号
友情链接