我在Windows上。我安装了git和posh-git(用于Windows PowerShell的一些帮助程序)。我可以使用ssh-add
添加密钥,并且可以使用github和我的网络服务器进行身份验证。我还可以使用PowerShell中的git与我的存储库进行交互。在Windows上使用git和ssh-agent
但有一件事我不能做:我使用git-plus来编辑Atom。我没有把它推到我的回购。我的问题是什么?
我在Windows上。我安装了git和posh-git(用于Windows PowerShell的一些帮助程序)。我可以使用ssh-add
添加密钥,并且可以使用github和我的网络服务器进行身份验证。我还可以使用PowerShell中的git与我的存储库进行交互。在Windows上使用git和ssh-agent
但有一件事我不能做:我使用git-plus来编辑Atom。我没有把它推到我的回购。我的问题是什么?
posh-git和git for windows 2.7应该包括设置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
哪个混帐加原子包装应能在运行命令时使用。我可以使用Ctrl + Shift + H调出atom中的git菜单,选择push,然后推送到远程repo(如果失败,不会显示错误,但我推送的新分支在那里) 。
在打开atom之前,需要启动ssh-agent,以便设置SSH_AUTH_SOCK环境变量。如果仍然不工作,你可能想在PowerShell中测试ssh来验证它可以不用密码连接:
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
ssh hostname
是的,SSH_AUTH_SOCK变量已设置。此外连接没有从Atom和git-plus内部工作的无保护密钥。代理正在运行,身份被导入。我可以与ssh建立连接,但git-plus不能与受保护的密钥一起使用。 – LuMa
受保护的密钥是什么意思? –
受密码保护的密钥。例如,我在GitHub文档之后创建一个密钥:https://help.github.com/articles/generating-ssh-keys/创建密钥(id_rsa),使用密码保护并将其添加到ssh代理。然后我将它添加到GitHub和我的网络服务器。现在我可以使用PowerShell,cd进入我的本地项目,并在不输入密钥的密码的情况下进行推/拉。即使使用SSH连接到我的网络服务器的作品。但是,git-plus不起作用。只有当我从密钥中删除密码(使用'ssh-keygen -p')时,git-plus才会执行它的工作。那么为什么不使用gsh-plus使用ssh-agent? – LuMa
见http://haacked.com/archive/2011/12/19/get- git-for-windows.aspx /有关让ssh代理在posh-git中工作的详细信息 –