终极大坑(同一台电脑配置Gitee、Github 的 Git SSH公钥)
- 同一台电脑配置Gitee/Github的Git SSH遇到的终极大坑!
- 今天操作git仓库的时候,不管是什么操作(公钥验证
ssh -T
、克隆仓库git clone
等),都报下面的错误:
ssh: connect to host gitee.com port 22: Connection refused
fatal: 无法读取远程仓库。
- 最后发现,校园网限制了SSH,只要切换成手机热点,这些问题都不复存在!
来说说自己的解决历程
首先就是网上各种方案都尝试了,下面文章都按个试过了
- 【git 端口拒绝解决方案】ssh: connect to host github.com port 22: Connection refused
- 执行ssh-add时添加私钥到git中报错Could not open a connection to your authentication agent
- ssh: connect to host github.com port 22: Connection refused
- sh: connect to host github.com port 22: Connection refused
- 同一台电脑配置Gitee、Github 的 Git SSH公钥
- Github | 多账户设置以及下载加速
- 配置多个ssh-key
顺便记录下经验
01. 生成秘钥对(按不同平台进行标记,如gitlab、gitee、github)
- 可以使用下面的语句生成自己想要的秘钥对,其中,
xxxxx
可以不是自己的邮箱名,gitee中会把此部分识别为公钥标题,便于自己记忆即可;id_rsa_xxx
代表生成的公钥对的私钥文件名,也是随意设置,便于自己记忆即可;
ssh-keygen -t rsa -C 'xxxxx' -f ~/.ssh/id_rsa_xxx
生成gitee的秘钥对
ssh-keygen -t rsa -C 'Z7_CT7NA@gitee.com' -f ~/.ssh/id_rsa_gitee
生成github的秘钥对
ssh-keygen -t rsa -C 'Z7_CT7NA@github.com' -f ~/.ssh/id_rsa_github
02. 添加公钥至gitee或github等平台
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
03. 验证ssh公钥是否配置成功
可以分别验证不同平台的,此处要注意。不成功未必是前面的错误,有可能是自己的网络问题,这篇博客主要遇到的坑就在这里。
$ ssh -T git@gitee.com
$ ssh -T git@github.com
04. 配置文件 ~/.ssh/config
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
后记
- 有人因为用校园网而出错吗?
- 哈哈哈,有的话,点个赞吧。