SSH身份验证后仍需要登录

时间:2013-09-14 03:17:39

标签: github ssh

我遵循了GitHub教程中的所有内容:https://help.github.com/articles/generating-ssh-keys

我在我的存储库目录中完成了所有命令。 我成功完成了教程的结束并得到了消息:“您好用户名!您已成功通过身份验证,但GitHub不提供shell访问权限。”

然而,当我尝试执行诸如推送仍然请求我的用户名和密码之类的事情时。

4 个答案:

答案 0 :(得分:118)

通过remote检查您的git remote -v

除非您配置凭据帮助,否则

https://网址始终会要求输入密码。有关this question中的更多信息。

无密码git访问的最简单解决方案是使用git remote set-url命令并为现有仓库设置 SSH 网址。

在您的情况下,git remote set-url origin git@github.com:name/repo

然后,您应该能够git push origin <branch>而无需输入密码。

答案 1 :(得分:15)

很好你已经正确设置了你的git ssh现在你需要用ssh重新克隆git存储库,例如以前你会做过这样的事情:

git clone https://github.com/dangrossman/bootstrap-daterangepicker.git

这是一个https克隆,现在您需要使用ssh克隆

git clone git@github.com:dangrossman/bootstrap-daterangepicker.git

您可以在github帐户中找到与您找到https链接相同位置的ssh链接。 在此之后,您可以轻松推送,无需密码提示。

它可能会询问您的ssh解锁密码。然后,您需要输入在创建ssh密钥期间提供的paraphase。如果你把它留空,可能不会提示它。

答案 2 :(得分:0)

我可以通过从基本存储库目录中打开.git/config并更改远程URL来停止用户名和密码提示。

例如:

[remote "origin"]
    url = https://github.com/username/my-repo.git

应更改为:

[remote "origin"]
    url = git@github.com:username/my-repo.git

答案 3 :(得分:0)

我尝试将答案标记为正确,但无法使其正常工作。相反,这对我有用git remote set-url origin ssh://git@github.com/username/reponame