LuM*_*uMa 25 git ssh powershell ssh-agent atom-editor
我在Windows上.我安装了git和posh-git(Windows PowerShell的一些助手).我可以添加密钥,ssh-add并可以使用github和我的网络服务器进行身份验证.我也可以使用PowerShell中的git与我的存储库进行交互.
但有一件事我不能做:我使用git-plus作为Atom编辑器.我不会把它推到我的回购.我的问题是什么?
Gre*_*ray 41
用于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
Run Code Online (Sandbox Code Playgroud)
然后,您应该看到设置了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
Run Code Online (Sandbox Code Playgroud)
运行命令时,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
Run Code Online (Sandbox Code Playgroud)
Jon*_*dén 21
几年以来,ssh 部分已经从 中分离出来posh-git,现在可以通过posh-sshell.
安装:
PowerShellGet\Install-Module posh-sshell -Scope CurrentUser
PowerShellGet\Install-Module posh-git -Scope CurrentUser
Run Code Online (Sandbox Code Playgroud)
在你的 ps1 文件中:
Import-Module posh-git
Import-Module posh-sshell
Start-SshAgent
Run Code Online (Sandbox Code Playgroud)
它应该会自动拾取您的~/.ssh.
Aje*_*i32 11
如果您将Windows 的 OpenSSH 本地实现与本机 ssh-agent Windows 服务结合使用,请确保在安装时将 Windows 版 git 配置为使用该 SSH 实现:
如果您使用捆绑的 OpenSSH 安装,git 将默认使用该安装,并且不会使用导入到 Windows 本地 ssh-agent 服务中的任何密钥。当出现提示时,您需要选择“使用外部 OpenSSH”。
如果您在安装时没有进行此选择,则只需再次运行安装程序即可修复该问题。
您可以在Powershell中使用Git for Windows随附的命令来运行ssh-agent:
start-ssh-agent.cmd
Run Code Online (Sandbox Code Playgroud)
这将启动ssh-agent。
然后您可以使用添加密钥
ssh-add ~/.ssh/namneOfPrivateKey
Run Code Online (Sandbox Code Playgroud)
在这里找到:https : //docs.microsoft.com/zh-cn/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
全局配置以使用 OpenSSH 代理。添加您的密钥
ssh-add.exe <path to ssh key>