如何解决Ubuntu 20 上的 SSH 密钥不适用于任何 Git Repo
刚刚安装了 Ubuntu 20.04.02LTS。我安装了 Git,使用 DigitalOcean 中的这个示例生成了一个新的 .ssh
,之后我将新密钥(公共)添加到了我的 github、bitbucket 和私有 git 存储库中,但它三个都失败了通常的消息:Permission denied (publickey).
我检查了密钥是否已添加到代理中,并且代理正在运行。
git 版本 2.25.1
为了测试,我用我的笔记本电脑运行 16.04lts,生成一个新密钥,将它添加到 github(等了 5 分钟)并克隆了一个没有问题的存储库。
编辑:运行 ssh -i ~/.ssh/private_key git@github.com
并通过。
解决方法
首先,如果您的密钥没有使用默认名称,您需要在 ~/.ssh/config
文件中声明它,以便 Git 使用它。
Host gh
Hostname github.com
User git
IdentityFile ~/.ssh/private_key
cd /path/to/repo
git remote set-url origin gh:<user>/<repo>
git ls-remote
更简单的测试:
ssh -Tv git@github.com
检查您是否收到欢迎消息。
如果还是不行,我会先测试一下:
-
使用 RSA 密钥
-
没有密码,以避免任何 ssh-agent 步骤(再次用于测试)
ssh-keygen -t rsa -P "" -f ~/.ssh/newKey
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。