突然从dev.azure.com使用ssh进行git克隆时要求密码

4

我遇到了一个不寻常的问题,当对Azure DevOps运行git命令时,它无缘无故地要求输入密码。举个例子,我运行下面这条命令:

git clone git@ssh.dev.azure.com:v3/oranization/project/repo

然后它会询问

git@ssh.dev.azure.com's password: 

几周前它还能正常运行。我感到非常震惊,需要任何帮助。我的ssh配置文件是:

Host azure
  IdentityFile ~/.ssh/id_openshift_tst_rsa
  #IdentitiesOnly yes
  Hostname ssh.dev.azure.com
Host workid
  Hostname bitbucket.org
  IdentityFile ~/.ssh/id_rsa
Host personalid
  Hostname bitbucket.org
  IdentityFile ~/.ssh/id_own_bitbucket_rsa
Host devbox
  Hostname dev.bovaris.io
  User vagrant
  IdentityFile ~/.ssh/id_rsa
Host minishift
  Hostname 10.128.64.4
  User datalake
  IdentityFile ~/.ssh/id_minishift_azure_rsa
Host home 
  HostName jelmervanamen.nl
  User pi
Host homeServer
  HostName jelmervanamen.nl
  Port 2222
  User jelmer
  ProxyCommand ssh jelmer@home nc %h %p %r
Host babyPi
  IdentityFile ~/.ssh/id_rsa
  HostName babypi.local
  Port 22
  User pi
  ProxyCommand ssh pi@home nc %h %p %r
Host jelmer-nas
  HostName 192.168.2.25 
  #IdentityFile ~/.ssh/id_rsa
  User jelmer
  PreferredAuthentications password
  #ProxyCommand ssh pi@home nc %h %p %r
Host jelmer-nas-sftp
  HostName 192.168.2.25 
  Port 2222
  #IdentityFile ~/.ssh/id_rsa
  User jelmer
  PreferredAuthentications password
  ProxyCommand ssh pi@home nc %h %p %r
Host jelmer-nas-sftp-direct
  HostName 192.168.2.25 
  Port 2222
  #IdentityFile ~/.ssh/id_rsa
  User jelmer
  PreferredAuthentications password
Host *.crv4all.com
 User AmenJ
 HashKnownHosts no

还有git配置文件

    [alias]
        squash-all = "!f(){ git reset $(git commit-tree HEAD^{tree} -m \"${1:-A new start}\");};f"
        delete-merged-branches = ! git branch --merged | egrep -v '(^\\*|master|develop)' | xargs git branch -d
    [user]
        name = Jelmer van Amen
        email = jelmervanamen@gmail.com
    [push]
        default = current
        followTags = true
    [pull]
        rebase = true
            default = current
    [core]
        autocrlf = input
    [filesystem "AdoptOpenJDK|1.8.0_232|/dev/mapper/luks-bdcfeb1c-efb2-4631-8e46-9b7c0fca1c57"]
        timestampResolution = 1001 microseconds
        minRacyThreshold = 0 nanoseconds
2个回答

6

调试SSH问题的第一步:使用ssh命令查看发生了什么

ssh -v git@ssh.dev.azure.com
# ssh has several levels of verbosity:
ssh -vvv git@ssh.dev.azure.com

调试git使用ssh的方式:

GIT_SSH_COMMAND="ssh -v" git clone ...

1
GIT_SSH_COMMAND="ssh -vvv" git clone ... 用于调试Git中的SSH。 - bitdancer

3

1
在SO上,不鼓励仅提供链接的答案;链接会失效,答案也会消失。您能否将答案的要点复制到这里? - phd
是的,这是因为Azure DevOps目前不支持安全SSH配置。我建议使用其他平台。 - bk2204
1
PubkeyAcceptedKeyTypes=ssh-rsa添加到ssh.dev.azure.com的.ssh/config条目中,密钥将被接受。 - Boggin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接