gpt4 book ai didi

git - 使用带有 powershell 的 git 和带有密码的 ssh key

转载 作者:太空狗 更新时间:2023-10-29 13:44:41 25 4
gpt4 key购买 nike

每当我在 powershell 中输入 git 命令时,我都会被问到:

Enter passphrase for key '/c/Users/***/.ssh/id_rsa'

此 key 是使用密码短语创建的:

ssh-keygen -t rsa -b 4096 -C "myemail@somewhere.com" 

我已将 ssh-agent 设置为在我的 powershell 启动时加载,并且设置了环境变量 SSH_AUTH_SOCKSSH_AGENT_PID。连接github成功:

ssh -T git@github.com 回复:你好 tkvw!您已成功通过身份验证,但 GitHub 不提供 shell 访问。

这表明使用了 git url 而不是 https

git remote -v
origin git@github.com:tkvw/pshazz.git (fetch)
origin git@github.com:tkvw/pshazz.git (push)

这表明代理处于事件状态并且 key 已加载:

ssh-add -l
4096 b1:73:2a:11:....63:e8:2a:34 /c/Users/***/.ssh/id_rsa (RSA)

但是调用一个git操作:

git fetch 
Enter passphrase for key '/c/Users/***/.ssh/id_rsa':

我没有想法了。我不想使用 git bash 或其他东西,我喜欢它在 powershell 中工作。

最佳答案

这些都不适合我。此页面上的解决方案确实如此:https://gist.github.com/danieldogeanu/16c61e9b80345c5837b9e5045a701c99

这里是:

您不应使用 Git for Windows 附带的 Open SSH 客户端。相反,Windows 10 有自己的与系统集成的 Open SSH 实现。要实现这一点:

  1. 启动 ssh-agent来自 Windows 服务:
  • 输入 ServicesStart MenuWin+R然后输入 services.msc启动服务窗口;
  • 找到 OpenSSH Authentication Agent在列表中并双击它;
  • OpenSSH Authentication Agent Properties在出现的窗口中,选择 Automatic来自 Startup type:下 pull 并单击 Start来自 Service status: .确保它现在显示 Service status: Running .
  1. 通过在 Powershell 中发出以下命令,将 Git 配置为使用 OpenSSH 的 Windows 10 实现:git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe ;

  2. 通过编辑 config 将 SSH 配置为在启动时自动将 key 添加到代理文件位于 C:\Users\%YOUR_USERNAME%\.ssh\config , 并添加以下行:

Host *
AddKeysToAgent yes
IdentitiesOnly yes

如果您使用自定义名称或多个 SSH key 生成 SSH key ,您还可以添加以下行:

Host github.com
HostName github.com
User your_user_name
IdentityFile ~/.ssh/your_file_name
  1. 将您的 SSH key 添加到 ssh-agent通过发布 ssh-add命令并输入您的密码:
ssh-add $HOME/.ssh/your_file_name
  1. 完成!现在,如有必要,请重新启动您的 Powershell 甚至 Windows。

关于git - 使用带有 powershell 的 git 和带有密码的 ssh key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48843643/

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