我已经设置了两个 GitHub 帐户,但我无法让 ssh 密钥正常工作。我尝试了各种配置。
Host github_username1
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github_username2
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
Run Code Online (Sandbox Code Playgroud)
git push:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
适用于 username1:
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_1
User username1
Host github.com
HostName github.com
IdentityFile ~/.ssh/rsa_2
User username2
Run Code Online (Sandbox Code Playgroud)
git push 在 username2 的仓库中:
ERROR: Permission to username2/repo.git denied to username1.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我也试着git push既IdentityFile和User设置下相同Host …
我刚刚从我的磁盘中丢失了一堆存储库,所以我从 GitHub 克隆了它们。现在每次我向 GitHub 推送内容时,它们都会要求输入用户名和密码。那些没有被删除的不会这样做。
我为摆脱用户名/密码提示而阅读的唯一解决方案是生成 ssh 密钥。问题是我已经有了一个密钥,否则我无法在没有克隆的那些存储库中没有提示的情况下推送。
我查看git config了我的两个存储库,一个无需密码即可推送,另一个是我克隆的。唯一的区别是branch.master.remote和branch.master.merge设置,我取消设置,使git config相同。但是提示还在。
我什至不确定生成新的 ssh 密钥是否有效。我有哪些选择?