Using git with ssh-agent on Windows

前端 未结 3 968
轮回少年
轮回少年 2020-12-13 04:35

I\'m on Windows. I installed git and posh-git (some helpers for Windows PowerShell). I can add keys with ssh-add and can authenticate with github and my webserv

相关标签:
3条回答
  • 2020-12-13 04:41

    posh-git and git for windows 2.7 should include everything you need to setup an ssh-agent. Once you have the module installed you can start the agent using something like:

    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
    

    You then should see the SSH_AUTH_SOCK environmental variable is set:

    C:\Code\Go\src\bosun.org\cmd\scollector [master]> gci env:SSH_AUTH_SOCK
    
    Name                           Value
    ----                           -----
    SSH_AUTH_SOCK                  /tmp/ssh-6ORcVQvRBZ2e/agent.11668
    

    Which the git-plus atom package should be able to use when you run commands. I was able to use Ctrl+Shift+H to bring up the git menu in atom, select push, and then push to a remote repo (not it doesn't display errors if it fails, but the new branch I pushed was there).

    The ssh-agent needs to be started BEFORE you open atom so that the SSH_AUTH_SOCK environmental variable is set. If it still doesn't work you may want to test ssh in PowerShell to verify that it can connect without a password:

    Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
    ssh hostname
    
    0 讨论(0)
  • 2020-12-13 04:51

    The issue is the git was unable to find the ssh_agent.exe which supplied the credentials The steps I followed are given below

    1. Searched the ssh_agent.exe file drive
    2. Added the path as environment path int the profile.example.ps1 file

    $env:path += ";" + "C:\Program Files\Git\usr\bin"

    0 讨论(0)
  • 2020-12-13 04:54

    You can get the ssh-agent running using the command that comes with Git for Windows in powershell:

     start-ssh-agent.cmd
    

    That will start up the ssh-agent.

    Then you can add your key with

     ssh-add ~/.ssh/namneOfPrivateKey
    

    Found that here: https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops

    0 讨论(0)
提交回复
热议问题