本媛开发,会经常性用到gitee & GitHub两个库
毕竟国内项目转战仓到gitee,
但是国外原框架还是GitHub居多
于是就出现连接pull-push经常性切换问题
这个报错是因为本地两个仓都有ssh公共私有密钥导致的
如果是因为第一次配置就错误了进行如下操作:
注意如果切换了gitee到GitHub(或者从GitHub切换到gitee)记得重新设置用户名和邮箱
git config --global user.name "github 用户名"
git config --global user.email "github 邮箱名"
-- 添加ssh
ssh-keygen -t ed25519 -C "可以设置自己想要的密钥名字"
例如:
ssh-keygen -t ed25519 -C "AAA.github"
-- 值得注意的是第一次回车输入的还是要设置密钥文件的名字,如果不设置,默认用的是提示括号里的(id_XXX)作为密钥文件名字此处比较重要,后面要使用
第二次回车输入 密钥口令(要记住,以后每次切换或者登入连接需要使用)
第三次回车,是对第二次回车输入的命令的重复确认
开头文件为ssh-(此图插入图片git-3)
-/6、紧接着到页面的gitee/github,找到我的设置/settings
截图以GitHub为例:
7、看到有ssh表示的标签里面进行新增一个ssh key 名字随便看自己,内容添加上面查看到的内容直接复制进去
内容添加是本文git-3步骤打开的文件信息
8、尝试配置添加ssh
ssh-agent -s
eval `ssh-agent -s`
---替换ssh key
ssh-add ~/.ssh/AAA.github
多平台账号首先进行文件添加
在.ssh文件夹内添加一个文件config
记事本打开配置如下:
全文配置无需加引号
# User
Host gitee.com
HostName gitee.com
User gitee上面的用户名(设置的user_name)
PreferredAuthentications publickey
IdentityFile ~/.ssh/对应配置到gitee仓里ssh中创建的密钥本地文件的名字
Host github
HostName github.com
User GitHub上面的用户名(设置的user_name)
PreferredAuthentications publickey
IdentityFile ~/.ssh/对应配置到GitHub仓里ssh中创建的密钥本地文件的名字
ServerAliveInterval 300
ServerAliveCountMax 10
我最后配置的GitHub的账号密码,所以测试连接Github
还是打开git-bash
输入:
如果当前设置的git -config账号是gitee的使用:
ssh -T git@gitee.com
如果当前设置的git -config账号是github的使用:
ssh -T git@github.com
此时输入2.1.1–>第二步中设置的密钥口令,提示如下表示成功连接,可以尽情使用git,clone、pull、push等功能了
就是在你pull代码发现报错:
unable to access ‘https://github.com/XXXXXX.git/’: OpenSSL SSL_connect: Connection was reset in connection to github.com:443
idea提示:
打开cmd,测试账号联通(输入"ssh -T git@github.com"):
就是说你没有连接启动啦,别慌:
执行这个:
ssh-agent -s
eval `ssh-agent -s`
画中重点,就是标题的报错:没错:【git】git@github.com: Permission denied (publickey).报错问题
这个时候你可能是用心启动了电脑,或者上一次连接了gitee,这次使用的GitHub…
不重要,直接看
执行如下命令:
ssh-agent -s
eval `ssh-agent -s`
ssh-add ~/.ssh/AAA.github
重新输入密钥口令,完美登入解决。
并不是上面说的密钥没有设置或者密钥失去连接的问题。
可能你连接的都是对的,但是ssh默认连接时候时长的,也就是说不能一直进行联通状态,那么需要设置联通时长,即保证ssh自动获取联通状态:【git】关于windows系统git连接ssh设置经常断连问题
网上的东西,我只能说五花八门的,解决方案真的要自己总结整理备注,最重要的是自己测试通过的在发,不要没事CV update的东西就发会坑人的。
每天奋斗一点点,管他明天如何。一起加油~(没办法环境太卷了-_-|||)