git通过配置SSH代理访问Github

场景

国内连接github越来越不稳定,最近更换了广电网络后,git操作时无法使用SSH来访问Github了,虽然HTTPS的方式仍然可行,但每次要输账号密码,比较不便。

自己手上有V2Ray代理,于是尝试给SSH设置通过V2Ray的代理访问Github,如果用的是SS原理应该也是一样的。

配置SSH代理

Github上生成SSH Key的教程

ssh配置文件地址为:~/.ssh/config
windows中就是:C:\Users\你的用户名\.ssh\config (若不存在自行创建)

配置文件中增加以下内容:

Host github.com *.github.com
    User git
    # SSH默认端口22, HTTPS默认端口443
    Port 22
    Hostname %h
    # 这里放你的SSH私钥
    IdentityFile ~\.ssh\id_rsa
    # 设置代理, 127.0.0.1:10808 换成你自己代理软件监听的本地地址
    # HTTPS使用-H,SOCKS使用-S
    ProxyCommand connect -S 127.0.0.1:10808 %h %p

配置补充

通过 ProxyCommand1 命令设置代理,其中的 connect 是一个工具用于进行代理的转换。connect 通常需要安装。
connect项目地址:https://bitbucket.org/gotoh/c...
windows系统中,下载connect.exe,把所在路径放入系统环境变量,就可以在命令行使用了。

connect.c is the simple relaying command to make network connection via SOCKS and https proxy.

上面的地址已失效,源码库可以参考这个地址:https://github.com/gotoh/ssh-... ;

已经编译好的 connect.exe 可以参考这里 https://stackoverflow.com/que... ;

另外, git bash 里面已经内置了connect,使用 git bash 终端可以不用额外安装

Reference


  1. ssh命令

你可能感兴趣的:(git通过配置SSH代理访问Github)