当我克隆一个存储库时,我一直有点“忍受”Github总是问我的用户名和密码。我想绕过这一步,因为这是我的工作流中的一个烦恼。
我尝试使用本指南设置SSH密钥(我成功地做到了)。https://help.github.com/articles/generating-ssh-keys,我成功了。
我的问题是,当克隆一个存储库(使用SSH)时,我仍然被要求输入我的github密码和密码短语。我的理解是,在我设置了这个SSH密钥之后,我就不再需要这样做了。
我不知道该问什么,所以我就说说我的目标吧。
我希望能够克隆存储库,而不必一直把我的Github信息。
我的SSH密钥丢失了什么?如果有人能提供一些指导或资源,我会很感激,因为当涉及到GitHub中的SSH身份验证时,我总是感到有点失落。
据我所知,这是一个测试事情是否正常工作的命令,下面是来自我的控制台的输出:
~ $ ssh -T git@github.com
Saving password to keychain failed
Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa':
Hi MYNAME! You've successfully authenticated, but GitHub does not provide shell access.
当我输入密码时,应该先失败吗?然后,当我输入密码时,它就通过了。
使用ssh-add命令将公钥添加到ssh-agent。
ssh-add
确保ssh公钥,例如~/.ssh/id_rsa。Pub是你的回购设置。
确保你可以ssh到服务器,例如Bitbucket:
ssh -T git@bitbucket.org
更新url以从https移动到ssh。你可以通过检查输出来检查你所使用的:
git remote -v
如果你在url中看到https://,那么你仍然在使用https。要更新它:获取url并将https://替换为ssh:// e.g.。
变化:
https://git@bitbucket.org/../..
To:
ssh://git@bitbucket.org/../..
引用:
https://docs.github.com/en/github/using-git/changing-a-remotes-url#switching-remote-urls-from-https-to-ssh
我最近升级到macOS Mojave,并通过homebrew安装了一些工具,这似乎是把苹果版本的ssh-add换成了另一个版本。我默认版本的ssh-add没有-K选项。这导致了以下错误:
# ssh-add:非法选项——K
您可以通过运行哪个ssh-add来查看您使用的是哪个版本的ssh-add。
(我的存储在/usr/local/bin/ssh-add)
为了解决这个问题,我必须指向苹果的版本:
/usr/bin/ssh-add -K ~/.ssh/id_rsa
Git/GitHub之后运行得很好。有关更多信息,请参见:Error: ssh-add: illegal option——K