Git每次推送时都要求输入密码,我用ssh
我在我的机器和我的github上配置了SSH。但当我推动时,git每次都要求输入密码。Git每次推送时都要求输入密码,我用ssh
我找到一些答案,请查看配置文件中/etc/ssh/ssh_config
并关闭了passwordAuthentication
,并运行service ssh restart
, 但它不能正常工作。我不知道为什么?如何解决这个问题?
确保您使用SSH一个不是HTTPS或Git的一个。 实施例:ssh://[email protected]/username/repo.git
不
https://github.com/username/repo.git
git://github.com/username/repo.git
下面是githubs adding an SSH key to git on linux的链接。
上述说明可能缺失的主要部分是将本地密钥添加到ssh-agent ssh-add ~/.ssh/id_rsa
,其中id_rsa
是密钥文件的名称。如果您已经克隆/设置本地回购实例以使用ssh://...
作为Sanjit概述的内容,并且您的密钥对位于正确的位置,则应该要求您使用其中一个创建的证书进行passphase。
这也值得检查你已经正确地将SSH密钥添加到github。
- 登录到github.com。
- 右键点击你的个人资料图片并选择设置。
- 在边栏中选择
SSH and GPG keys
。 (或输入此URL https://github.com/settings/keys) - 您将看到您为每个主机添加的密钥列表,这些密钥应包含您正在尝试使用的密钥。
- 如果您的证书不在列表中,您可以选择
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配置更改可能不是必需的。
非常感谢,我已解决。我没有将我的本地密钥添加到ssh-agent。 – lavender
只是为了澄清:你想使用证书与通行证从本地机推送到git。 –