Git生成的ssh公钥部署在GitHub后校验报错Permission denied(publickey, password, keyboard-interactive)完美解决
前置
- 正确的配置了ssh公钥各个环节
- 同样的步骤在
gitee 上没问题,但是github 就不行 - 这篇文章以Mac为主,因为我用的就是,Windows根据原理自己慢慢解决!😁
报错
ssh -T git@github.com
Permission denied (publickey, password, keyboard-interactive)
验证自己的步骤
- 首先,确认咱们的公钥密钥是否存在
cd ~/.ssh/
ssh-add -l
4096 SHA256:xxxxxx your-email@xx.cn (RSA)
256 SHA256:xxxxxx your-email@xx.cn (ED25519)
ssh-add ~/.ssh/${你的私钥名}
- 校验指纹:不正确你就重新创建了再穿上去;去你的GitHub上 -> setting -> SSH And GPG keys 查看指纹是否一致
- 此时,公钥密钥没问题,GitHub上传到公钥也没问题后,就查看
config 文件!
vim ~/.ssh/config
open ~/.ssh/config
没有就创建
HOST gitee.com
hostname gitee.com
User xiaoqivar
IdentityFile /Users/xiaoqinvar/.ssh/id_rsa
PreferredAuthentications publickey
HOST github.com
Hostname ssh.github.com
Port 443
User xiaoqinvar
IdentityFile /Users/xiaoqinvar/.ssh/id_ed25519
PreferredAuthentications publickey
- 你可以测试使用ssh.github.com测试github
ssh -T -p 443 git@ssh.github.com
到这里,我的问题就完全解决了
使用GPG
brew install gpg
gpg --full-generate-key
gpg --list-secret-keys --keyid-format=long
------------------------------------
sec rsa4096/DB964648910EA155 2022-09-23 [SC]
09264A566BA57F100518797EDB964648130EA155
uid [ 绝对 ] xiaoqinvar <17683860320m0@sina.cn>
ssb rsa4096/B5C6C23FD147109B 2022-09-23 [E]
gpg --armor --export DB964648910EA155为id
git config --global user.signingkey {key_id}
- 加上
-S 参数,表示这次提交需要用GPG密钥进行签名,用来确保是git本人操作,可以设置成每次自动进行签名
git config --global commit.gpgsign true
brew install pinentry-mac
echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
killall gpg-agent
参考文章
- GitHub官方告诉 Git 你的签名GPG密钥
- GPG 安装与使用
- 求助,github 已经配置好 ssh,但是提示输入密码👍
|