我在Windows上.我安装了git和posh-git(Windows PowerShell的一些助手).我可以添加密钥,ssh-add
并可以使用github和我的网络服务器进行身份验证.我也可以使用PowerShell中的git与我的存储库进行交互.
但有一件事我不能做:我使用git-plus作为Atom编辑器.我不会把它推到我的回购.我的问题是什么?
用于Windows 2.7的posh-git和git应该包含设置ssh-agent所需的一切.安装模块后,您可以使用以下内容启动代理:
Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-git Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe" Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe" Start-SshAgent -Quiet
然后,您应该看到设置了SSH_AUTH_SOCK环境变量:
C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK Name Value ---- ----- SSH_AUTH_SOCK /tmp/ssh-6ORcVQvRBZ2e/agent.11668
运行命令时,git-plus atom包应该能够使用哪个.我能够使用Ctrl + Shift + H调出原子中的git菜单,选择push,然后推送到远程仓库(如果失败则不显示错误,但我推送的新分支就在那里) .
在打开atom之前需要启动ssh-agent,以便设置SSH_AUTH_SOCK环境变量.如果它仍然不起作用,您可能希望在PowerShell中测试ssh以验证它可以在没有密码的情况下连接:
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe" ssh hostname
您可以在Powershell中使用Git for Windows随附的命令来运行ssh-agent:
start-ssh-agent.cmd
这将启动ssh-agent。
然后您可以使用添加密钥
ssh-add ~/.ssh/namneOfPrivateKey
在这里找到:https : //docs.microsoft.com/zh-cn/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops