每当我推动时,Git都要求输入密码,我使用了ssh

时间:2016-12-15 09:09:02

标签: git ssh

我已经在我的机器和我的github中配置了SSH。但是当我推动时,git每次都要求输入密码。

我找到了一些答案,检查/etc/ssh/ssh_config中的配置文件并关闭passwordAuthentication,然后运行service ssh restart, 但它不起作用。我不知道为什么?如何解决这个问题?

enter image description here

2 个答案:

答案 0 :(得分:1)

以下是githubs adding an SSH key to git on linux的链接。

上述说明中可能缺少的主要部分是将本地密钥添加到ssh-agent ssh-add ~/.ssh/id_rsa,其中id_rsa是密钥文件的名称。如果您克隆/设置了本地repo实例以使用ssh://...作为Sanjit概述,并且您的密钥对位于正确的位置,则应该要求您对使用其创建的证书进行passphase。

还有必要检查是否已正确添加SSH密钥到github。

  1. 登录github.com。
  2. 右键单击您的个人资料照片并选择设置。
  3. 在侧边栏中选择SSH and GPG keys。 (或输入此网址https://github.com/settings/keys
  4. 您将看到为每个主机添加的密钥列表,其中应包括您尝试使用的密钥。
  5. 如果证书不在列表中,您可以选择New SSH key
  6. 添加证书

    (见https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/

    要检查源路径是否正在repo目录中使用SSH运行git remote -v,该目录将显示提取和推送路径。 要将orgin更改为SSH,请使用git remote set-url origin git@github.com:USERNAME/OTHERREPOSITORY.git,该function sipToggleMute() { if (oSipSessionCall) { var i_ret; var bMute = !oSipSessionCall.bMute; txtCallStatus.innerHTML = bMute ? '<i>Mute the call...</i>' : '<i>Unmute the call...</i>'; i_ret = oSipSessionCall.mute('audio'/*could be 'video'*/, bMute); if (i_ret != 0) { txtCallStatus.innerHTML = '<i>Mute / Unmute failed</i>'; return; } oSipSessionCall.bMute = bMute; btnMute.value = bMute ? "Unmute" : "Mute"; } } 可以在changing a remotes url上的githubs文章中找到。

    您的sshd配置更改可能不是必需的。

答案 1 :(得分:0)

确保您使用的是SSH而不是https或git。 示例:ssh://git@github.com/username/repo.git

不是

https://github.com/username/repo.git
git://github.com/username/repo.git