Git每次推送时都要求输入密码,我用ssh

问题描述:

我在我的机器和我的github上配置了SSH。但当我推动时,git每次都要求输入密码。Git每次推送时都要求输入密码,我用ssh

我找到一些答案,请查看配置文件中/etc/ssh/ssh_config并关闭了passwordAuthentication,并运行service ssh restart, 但它不能正常工作。我不知道为什么?如何解决这个问题?

enter image description here

+0

只是为了澄清:你想使用证书与通行证从本地机推送到git。 –

确保您使用SSH一个不是HTTPS或Git的一个。 实施例:ssh://[email protected]/username/repo.git

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

是的,我使用ssh.sorry,我只是描述了不准确。问题是,我仍然想每次输入密码而不是我的github密码时,我推 – lavender

+1

@lavender它要求输入密码,因为当你生成你ssh密钥时,你输入了一个密码。如果您不想在每次推/拉时输入密码,请在没有密码的情况下生成ssh密钥。 – C1sc0

+0

谢谢,我解决了。 – lavender

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

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

这也值得检查你已经正确地将SSH密钥添加到github。

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

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

要检查原点路径使用SSH运行git remote -v从回购目录,它会显示你的抓取和推送通道内。 要将orgin更改为SSH,请使用git remote set-url origin [email protected]:USERNAME/OTHERREPOSITORY.git,可以在github上的文章changing a remotes url中找到它。

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

+0

非常感谢,我已解决。我没有将我的本地密钥添加到ssh-agent。 – lavender