Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
git ssh 代理设置

仅为 GitHub 设置代理

git 代理

设置 git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
设置完成后, ~/.gitconfig 文件中会增加以下条目:

[http "https://github.com"]
    proxy = socks5://127.0.0.1:1086
ssh 代理

修改 ~/.ssh/config 文件

Host github.com
    User git
    ProxyCommand nc -v -x 127.0.0.1:1086 %h %p
@wanghuibin0
Copy link

wanghuibin0 commented Mar 15, 2021

很有用,感谢

@cymbidium-lan
Copy link

cymbidium-lan commented Apr 22, 2021

debug1: Local version string SSH-2.0-OpenSSH_8.1
kex_exchange_identification: Connection closed by remote host

请问 这个方法现在还可用吗,我报错如上

@wanghuibin0
Copy link

wanghuibin0 commented Apr 27, 2021

debug1: Local version string SSH-2.0-OpenSSH_8.1
kex_exchange_identification: Connection closed by remote host

请问 这个方法现在还可用吗,我报错如上

可以的啊,我在用。
你这个报错是不是设置一下ssh免密登录试试看……

@cymbidium-lan
Copy link

cymbidium-lan commented Apr 27, 2021

debug1: Local version string SSH-2.0-OpenSSH_8.1
kex_exchange_identification: Connection closed by remote host

请问 这个方法现在还可用吗,我报错如上

可以的啊,我在用。
你这个报错是不是设置一下ssh免密登录试试看……

我用的是私钥登录 ,你是通过密码登录的吗?

@wanghuibin0
Copy link

wanghuibin0 commented Apr 27, 2021

debug1: Local version string SSH-2.0-OpenSSH_8.1
kex_exchange_identification: Connection closed by remote host

请问 这个方法现在还可用吗,我报错如上

可以的啊,我在用。
你这个报错是不是设置一下ssh免密登录试试看……

我用的是私钥登录 ,你是通过密码登录的吗?

我的意思是先把公钥拷上去

@One010101
Copy link

One010101 commented Apr 28, 2021

$ ssh -T git@github.com
/usr/bin/bash: line 0: exec: nc: not found
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535

不行

@wanghuibin0
Copy link

wanghuibin0 commented Apr 28, 2021

$ ssh -T git@github.com
/usr/bin/bash: line 0: exec: nc: not found
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535

不行

好像你的系统里没有nc这个命令

@One010101
Copy link

One010101 commented Apr 28, 2021

$ ssh -T git@github.com
/ usr / bin / bash:第0行:exec:nc:找不到
kex_exchange_identification:连接被远程主机关闭
未知端口65535关闭了连接

不行

好像你的系统里没有nc这个命令

我找了网上很多教程,最后设置成功了,很简单,现在的git bash里面都包含了connect.exe这个软件,位置在bin下,你只要配置一个config可以了
vi ~/.ssh/config

ProxyCommand connect -S 127.0.0.1:10801 -a none %h %p

Host github.com
  User git
  Port 22
  Hostname github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\One\.ssh\id_rsa"
  TCPKeepAlive yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\One\.ssh\id_rsa"
  TCPKeepAlive yes

然后就可以使用ssh,测试方法是 ssh -T git@github.com,返回successful之类的就成功了

@wanghuibin0
Copy link

wanghuibin0 commented Apr 28, 2021

恭喜!

@MaxSecurity
Copy link

MaxSecurity commented May 24, 2021

感谢很好使这办法。

@NewMai
Copy link

NewMai commented Jun 15, 2021

$ ssh -T git@github.com
/ usr / bin / bash:第0行:exec:nc:找不到
kex_exchange_identification:连接被远程主机关闭
未知端口65535关闭了连接

不行

好像你的系统里没有nc这个命令

我找了网上很多教程,最后设置成功了,很简单,现在的git bash里面都包含了connect.exe这个软件,位置在bin下,你只要配置一个config可以了
vi ~/.ssh/config

ProxyCommand connect -S 127.0.0.1:10801 -a none %h %p

Host github.com
  User git
  Port 22
  Hostname github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\One\.ssh\id_rsa"
  TCPKeepAlive yes

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\One\.ssh\id_rsa"
  TCPKeepAlive yes

然后就可以使用ssh,测试方法是 ssh -T git@github.com,返回successful之类的就成功了

看了无数文章,还是你的最给力

@lispon
Copy link

lispon commented Nov 9, 2021

以上处理方法, 应该区分 Windows 还是 Linux;

  • Linux下, 使用 nc 应该可以;

  • Windows下, 使用 connect.

@hokhu3
Copy link

hokhu3 commented Nov 21, 2021

ssh over https提到域名改成ssh.github.com了

Host github.com
Hostname ssh.github.com
Port 443
User git

@Q-kil
Copy link

Q-kil commented Dec 15, 2021

感谢🎉

@chenwaichung
Copy link

chenwaichung commented Jul 22, 2022

感谢分享

@Knit-zhang
Copy link

Knit-zhang commented Jul 25, 2022

ssh over https提到域名改成ssh.github.com了

Host github.com
Hostname ssh.github.com
Port 443
User git

感谢 🎉 , 终于解决了

@gmqiyue
Copy link

gmqiyue commented Aug 16, 2022

ssh over https提到域名改成ssh.github.com了

Host github.com
Hostname ssh.github.com
Port 443
User git

感谢 🎉 , 终于解决了

+1, it works!✌️

@Jackiexiao
Copy link

Jackiexiao commented Nov 7, 2022

注意走 socks 和 https 是两个设置方案

Host github.com
  User git
  HostName ssh.github.com
  Port 443
  # 走 HTTP 代理, ubuntu 先 apt install -y socat
  ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=1080
  # 走 socks5 代理(如 Shadowsocks)
  # ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

@bithaolee
Copy link

bithaolee commented Nov 26, 2022

mac实测有用,感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment