gpt4 book ai didi

windows - 使用 cygwin ssh-agent 正在运行,但 git 仍在提示输入密码

转载 作者:可可西里 更新时间:2023-11-01 09:36:43 25 4
gpt4 key购买 nike

我在 Windows 7 上使用 cygwin 作为我的终端。我发现了一些在 cygwin 中运行 ssh-agent 的建议,这样我就不必在每次运行 git fetch/pull/push 时都输入密码。我将以下内容添加到我的 .bash_profile 并重新启动了我的 cygwin session :

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent -s | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi

看起来 ssh-agent 和 ssh-add 运行成功,但仍然提示我输入密码。

Initialising new SSH agent...
succeeded
Enter passphrase for /cygdrive/c/Users/<username>/.ssh/id_rsa:
Identity added: /cygdrive/c/Users/<username>/.ssh/id_rsa (/cygdrive/c/Users/<username>/.ssh/id_rsa)

$ ssh-add -l
2048 <fingerprint> /cygdrive/c/Users/<username>/.ssh/id_rsa (RSA)

$ git fetch --all
Fetching origin
Enter passphrase for key '/c/Users/<username>/.ssh/id_rsa':

我的 git 连接实际上使用的是 SSH 而不是 HTTPS(已编辑私有(private)信息):

$ git remote -v
origin ssh://git@XXX/XXX.git (fetch)
origin ssh://git@XXX/XXX.git (push)

我为这个问题找到的最接近的问题是以下问题:

ssh-agent doesn't work / save me from typing passphrase for git

但是,我没有在/git/bin 下重命名我的 ssh。

关于如何诊断这个问题有什么建议吗?谢谢!

最佳答案

这里有一个比上面的更简单的解决方案:

  1. 启动服务(可以通过在搜索中输入服务找到任务栏上的框)
  2. 编辑“OpenSSH 身份验证代理”的设置
  3. 将启动类型设置为自动并启动服务
  4. 启动编辑系统环境变量(键入 Environment在任务栏的搜索框中)
  5. 添加 GIT_SSH 变量并将值设置为"C:\Windows\System32\OpenSSH\ssh.exe"

现在添加 SSH key 后,您将无需继续在 Windows 命令提示符或 Cygwin Bash shell 中键入密码。

关于windows - 使用 cygwin ssh-agent 正在运行,但 git 仍在提示输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40226053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com