Ubuntu 20.04系统Conda环境下执行Git克隆时遭遇publickey权限拒绝问题求助
别担心,这个SSH公钥权限问题是GitHub克隆仓库时的常见问题,我给你一步步梳理解决方法:
第一步:检查本地是否已有SSH密钥
先打开终端,运行这个命令看看你有没有现成的SSH密钥:ls -al ~/.ssh如果输出里能看到
id_rsa.pub或者id_ed25519.pub这类带.pub后缀的文件,说明你已经有密钥了,直接跳到第三步就行;如果没有,继续第二步生成新密钥。第二步:生成新的SSH密钥
运行下面的命令(记得把邮箱换成你绑定GitHub账户的邮箱):ssh-keygen -t ed25519 -C "your_email@example.com"执行过程中会提示你设置密钥存储路径和密码,直接按回车用默认路径就行,密码可以设也可以不设(不设的话以后克隆/推送不用输密码,更方便)。
第三步:把公钥添加到你的GitHub账户
先复制公钥的内容,运行:cat ~/.ssh/id_ed25519.pub(如果是RSA密钥就换成
cat ~/.ssh/id_rsa.pub)
然后打开GitHub网站,点击右上角头像→Settings→SSH and GPG keys→New SSH key,把刚才复制的内容粘贴到Key输入框里,随便给个Title(比如“Ubuntu 20.04 工作站”),最后点击Add SSH key。第四步:测试SSH连接是否正常
终端运行:ssh -T git@github.com如果看到类似
Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.的提示,说明连接成功了。第五步:重新尝试克隆仓库
现在再运行你之前的克隆命令:git clone git@github.com:akapoorcern/hepmc2root.git应该就能正常克隆了。
备选方案:用HTTPS克隆(无需SSH密钥)
如果你暂时不想折腾SSH密钥,也可以改用HTTPS地址克隆:
git clone https://github.com/akapoorcern/hepmc2root.git
克隆时会提示你输入GitHub用户名和密码,注意现在GitHub已经不支持直接输密码了,需要用**个人访问令牌(PAT)**代替密码,你可以在GitHub的Settings→Developer settings→Personal access tokens里生成一个,权限勾选repo就行。
内容的提问来源于stack exchange,提问作者Raseeb

