Назад | Перейти на главную страницу

SSH и GIT auth внезапно перестали работать

Я с радостью вытаскивал из своего репозитория несколько месяцев, до сих пор ..: '(

Впервые git теперь просит меня добавить github.com в файл known_hosts. Раньше этого не было, у меня даже не было каталога .ssh до тех пор, пока я не сказал «да» на вопрос ниже.

# git pull

Host 'github.com' is not in the trusted hosts file.
(ssh-rsa fingerprint md5 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48)
Do you want to continue connecting? (y/n) y

/usr/bin/ssh: Connection to git@github.com:22 exited: No auth methods could be used.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Я не могу понять, что могло измениться ... делаю git status работает, но я ничего не могу тянуть.

Я не могу сделать ssh -vvv, поскольку это в небольшой встроенной системе Linux, и, очевидно, ssh не компилировался с опцией подробного описания, поэтому я не могу точно знать, что происходит.

Разве я не могу извлечь из репозитория без добавления ssh-ключа github? Все это происходит в небольших встроенных системах, которые я развертываю в разных местах, поэтому мне не нравится добавлять какие-либо данные учетной записи, я просто хочу, чтобы последняя версия была загружена с github.

Моя конфигурация git:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@github.com:MyUser/MyRepo.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Я пробовал изменить git на https, но вместо этого выдает ошибку сертификата. (Я отредактировал имя пользователя и репо)

Поскольку вы упомянули, что это встроенная система, убедитесь, что дата и время указаны правильно. У меня была проблема с HTTPS, когда система в основном думала, что это было в 1970 году, и отказывалась от сертификата Github.

Также вы можете найти здесь ожидаемые ключи хоста SSH: https://help.github.com/articles/github-s-ssh-key-fingerprints/. Хорошая идея - проверить их, когда что-то, что раньше работало, теперь выходит из строя, это может быть мужчина в середине.

Я не нашел первопричины, но нашел решение.

Github заявляет, что рекомендуется использовать HTTPS, поскольку его легче достичь через брандмауэры и прокси по сравнению с SSH: https://help.github.com/articles/which-remote-url-should-i-use/

Решение: измените URL-адрес на https. И настройте git: git config --global http.sslVerify false как объяснено здесь: https://confluence.atlassian.com/fishkb/unable-to-clone-git-repository-due-to-self-signed-certificate-376838977.html

Я бы оценил качество этого решения как: Временное решение. Если у кого-то есть что-нибудь получше, я бы хотел услышать ;-)