起因
在拉项目的时候发现,Clash 开启 TUN Mode 后 执行 git clone git@github.com:xxxxxx.git 命令后会出现 connection closed 的提示。
关闭 Clash 的 TUN Mode,把 http 和 https 的代理都改为 socks5 的代理就能正常 git clone。
在 Github 上查了下,原因是某些节点屏蔽了22端口,导致不能通过代理去 clone,解决方案就是换节点或者指定 git clone 走443端口。
解决方法
修改 ssh 配置
官方文档:https://docs.github.com/en/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
# ~/.ssh/config
Host github.com
Hostname ssh.github.com
Port 443
User git
IdentityFile .....参考文章
https://github.com/vernesong/OpenClash/issues/1960#issuecomment-1115732292
【git】git中使用https和ssh协议的区别以及它们的用法 - WANNANANANA - 博客园 (cnblogs.com)