繁体   English   中英

Git 总是询问我的 ssh 密钥密码

[英]Git always asks for my ssh-key passphrase

我在使用git时出现问题。

当我使用命令git pull origin my_branchgit fetchgit push origin my_branch ,git 总是要求我提供密钥的密码。 我不明白为什么会发生这种情况?

有人可以解释为什么以及如何避免每次输入密码。

$ git fetch
Enter passphrase for key '/home/khanhpn/.ssh/id_rsa':

就像 Nasreddine 所说的那样,这是因为您的密钥是用密码加密的,以防止其他人阅读它。

使用密码短语最方便的方法是使用ssh-agent启动身份验证代理(在后台运行):

$ eval "$(ssh-agent)"
Agent pid 44304

...然后使用ssh-add向代理注册您的密钥,以便它自动用于后续的 SSH 连接:

$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/khanhpn/.ssh/id_rsa:

当您运行ssh-add ,系统会要求您输入密码,但在ssh-agent运行时您不需要再次输入密码。

您可以在 GitHub 上找到更多信息。 另请注意,每次登录时都必须执行此操作,因此您可能希望将eval "$(ssh-agent)"步骤添加到.profile脚本中。

这是因为您的私人 SSH 密钥是使用密码保护的。 您可以使用此命令删除它(不推荐,因为任何人都可以复制您的密钥并使用它来访问您的 repos/account ):

$ ssh-keygen -p
Enter file in which the key is (/path/to/your/.ssh/key):

在此处提示时输入您当前的密码:

Enter old passphrase:
Key has comment 'rsa w/o comment'

如果您想在此处提示时删除密码,请留空:

Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM