V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
forcecharlie
V2EX  ›  Go 编程语言

分享一个基于 Golang 开发的能够动态检测网络代理的 SSH 客户端 TunnelSSH

  •  
  •   forcecharlie · 2020-06-07 14:19:51 +08:00 · 1733 次点击
    这是一个创建于 1426 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于企业策略,可能办公网络只能通过代理建立连接,这个时候又需要使用 SSH 拉取 git 远程存储库,为了避免手动设置或者频繁变更,这个时候,我们可以编写一个 SSH 客户端和 git 包装命令解决这一问题。

    TunnelSSH 下载地址 https://github.com/balibuild/tunnelssh/releases/latest

    1. TunnelSSH 能够读取 OpenSSH 私钥,和部分配置
    2. 当设置了 PROXY ( Windows 支持系统全局 PROXY )且可用时,SSH 连接走 PROXY,否则直连。
    3. git-tunnel 命令包装了 git 命令,在 PROXY 开启时,默认使用 PROXY 。
    4. 提供了 netcat 可以作为 OpenSSH ProxyCommand 自动解析系统 PROXY 从而建立网络连接。
    5. 支持 Windows Linux macOS,但 macOS 没有支持解析系统 PROXY 。

    截图如下:

    https://imgchr.com/i/t2V0PO

    这里我使用了 baulk(昨天 v2ex 的帖子) 安装 TunnelSSH. 初始化环境后,可以直接使用 git tunnel -V push 这样的方式操作。

    欢迎吐槽。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2301 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:05 · PVG 17:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.