我在Windows上。我安装了git和posh-git(Windows PowerShell的一些助手)。我可以使用BS_GROUPBOX
添加密钥,并可以使用github和我的网络服务器进行身份验证。我也可以使用PowerShell中的git与我的存储库进行交互。
但有一点我无法做到:我使用git-plus作为Atom编辑器。而且我没有把它推到我的回购。我的问题是什么?
答案 0 :(得分:34)
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
运行命令时,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
答案 1 :(得分:3)
您可以在Powershell中使用Git for Windows随附的命令来运行ssh-agent:
start-ssh-agent.cmd
这将启动ssh-agent。
然后您可以使用添加密钥
ssh-add ~/.ssh/namneOfPrivateKey
答案 2 :(得分:0)
几年以来,ssh 部分已经从 posh-git
中分离出来,现在可以通过 posh-sshell
使用。
安装:
PowerShellGet\Install-Module posh-sshell -Scope CurrentUser
PowerShellGet\Install-Module posh-git -Scope CurrentUser
在您的 ps1 文件中:
Import-Module posh-git
Import-Module posh-sshell
Start-SshAgent
它应该会自动获取您的 ~/.ssh
中的任何密钥文件。