我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
当前回答
我会尝试以下方法:
开始GitBash 编辑~/。bashrc文件( 将以下行添加到文件中
SSH_ENV=$HOME/.ssh/environment # start the ssh-agent function start_agent { echo "Initializing new SSH agent..." # spawn ssh-agent /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} echo succeeded chmod 600 ${SSH_ENV} . ${SSH_ENV} > /dev/null /usr/bin/ssh-add } if [ -f "${SSH_ENV}" ]; then . ${SSH_ENV} > /dev/null ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi Save and close the file Close GitBash Reopen GitBash Enter your passphrase
其他回答
以前-K标志用于添加键,但现在:
ssh-add --apple-use-keychain
-K和-A标志已弃用,已被替换 用苹果使用钥匙链和苹果装载钥匙链 分别标记。
稍后编辑:您可能需要添加ssh-add——apple-load-keychain -q到您的.bash_profile或.bashrc或.zshrc或等效文件。
执行如下命令:
eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa &>/dev/null
输入密码,然后检查git。Git在执行此命令后不应该询问密码短语。
原文来源:https://gist.github.com/egoens/c3aa494fc246bb4828e517407d56718d
也许不是最安全的方法来解决这个问题,但不要设置密码短语,这是可选的。如果您不设置密码短语,它将不会请求它。你可以用更改密码
$ ssh-keygen -p -f ~/.ssh/id_ed25519
> Enter old passphrase: [Type old passphrase]
> Key has comment 'your_email@example.com'
> Enter new passphrase (empty for no passphrase): [Type new passphrase]
> Enter same passphrase again: [Repeat the new passphrase]
> Your identification has been saved with the new passphrase.
听起来您可能在SSH-Agent本身遇到了问题。我会试着排除故障。
1)你做SSH -add添加你的密钥到SSH?
2)你是否在使用之间关闭终端窗口,因为如果你关闭了窗口,当你重新打开它时,你将不得不再次输入密码。
似乎您的本地repo没有更新ssh密钥…至少这是我从HTTPS到ssh时遇到的情况。
你远程重置了吗?
git remote set-url origin <ssh url>