Git SSH public key authentication failed with git on Azure DevOps

后端 未结 10 1564
醉酒成梦
醉酒成梦 2021-01-04 03:10

I am trying to push a git repo from PowerShell into an Azure DevOps repo, and I keep getting different auth errors when trying to push it.

I am hoping somebody can sh

相关标签:
10条回答
  • 2021-01-04 03:24

    I believe @Schalton's comment is right: SSH validation is failing, so it prompts for the pass.

    Had the same problem. "Solved it" by generating the key as the default value ('id_rsa') instead of using other names (tried other names and none of them worked).

    [####@#### .ssh]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/guille/.ssh/id_rsa): id_rsa
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in id_rsa.
    Your public key has been saved in id_rsa.pub.
    

    EDIT: As noted by @LHM the value default (no input needed) for the file in which to save the key is showed in parenthesis.

    0 讨论(0)
  • 2021-01-04 03:24

    I followed the official permissions denied troubleshooting guide and it turned out, I had to re-generate the key after all. But I think it is best to follow the guide as it provides information on quite a few different scenarios that most of which are not mentioned here.

    0 讨论(0)
  • 2021-01-04 03:26

    This worked for me

    adding a config file in ~/.ssh/

    and adding these lines

    Host ssh.dev.azure.com
    IdentityFile ~/.ssh/my_ssh_private_key
    IdentitiesOnly yes
    

    This link by @wcoder helped

    0 讨论(0)
  • 2021-01-04 03:26

    TL;DR: It turns out the path and filename shown in parenthesis (e.g./home/guille/.ssh/id_rsa) is a default value that can be accepted simply by leaving it blank and hitting Enter.


    I, too, had the same problem. I made the same mistake as @eltbus (attempting to name the file something myself), so his answer of sticking to the default of "id_rsa" was helpful to me. I also realized that when I generated the rsa key pair, I saved id_rsa.pub to the wrong folder. (Only entering id_rsa without a leading file path, can save it to a different folder.)

    You can avoid both of my above mistakes if you simply hit Enter to accept the default file name and location, instead of typing in a path and/or file name.

    Example:

    [####@#### .ssh]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/guille/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in id_rsa.
    Your public key has been saved in id_rsa.pub.
    
    0 讨论(0)
  • 2021-01-04 03:29

    I realize this question mentions powershell. However, with the title and tags people on other OS's may end up here, and there is a common problem with Azure Devops access from mac and linux.

    To fix this for mac and linux, add IdentitiesOnly yes to ~/.ssh/config

    This is a common problem for Azure Devops. Unfortunately I'm not certain why this fixes it.

    0 讨论(0)
  • 2021-01-04 03:39

    I saw my repo ssh URL which was different from my DevOps URL in my case what worked was adding the config file in my ~/.ssh folder with the following information:

    Host vs-ssh.visualstudio.com <-- hostname found in my repo SSH URL
        IdentityFile ~/.ssh/id_rsa_vsonline <-- your key name
        IdentitiesOnly yes
    

    then tested it with

    ssh -v vs-ssh.visualstudio.com
    

    in the trace, I got something like

    Authenticated to vs-ssh.visualstudio.com ([IP]:22).

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