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

2020-06-07 14:19:51 +08:00
 forcecharlie

由于企业策略,可能办公网络只能通过代理建立连接,这个时候又需要使用 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 。

截图如下:

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

欢迎吐槽。

1747 次点击
所在节点    Go 编程语言
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/679405

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX