#git #github #ssh #connection
#git #github #ssh #подключение
Вопрос:
У меня возникли некоторые проблемы при попытке использовать git с другим приложением, отличным от git bash.
(Я на Windows)
В git desktop у меня ошибка сбоя аутентификации :
Ошибка аутентификации. Некоторые распространенные причины включают:
- Вы не вошли в свою учетную запись: см. Файл> Параметры.
- Возможно, вам потребуется выйти из системы и снова войти в систему, чтобы обновить свой токен.
- У вас нет разрешения на доступ к этому репозиторию.
- Репозиторий заархивирован на GitHub. Проверьте настройки репозитория, чтобы подтвердить, что вам все еще разрешено отправлять коммиты.
- Если вы используете аутентификацию по SSH, убедитесь, что ваш ключ добавлен в ssh-agent и связан с вашей учетной записью.
С помощью VSCode у меня есть
Git : git@github.com: Permission denied (publickey).
и этот журнал ошибок :
git pull --tags origin main
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
git status -z -u
git symbolic-ref --short HEAD
git rev-parse main
git rev-parse --symbolic-full-name main@{u}
git rev-list --left-right main...refs/remotes/origin/main
git for-each-ref --sort -committerdate --format %(refname) %(objectname)
git remote --verbose
git config --get commit.template
Я пытался отключить / переподключиться с git desktop, изменить свой ~/.profile
, создать ssh-агент, перезагрузить компьютер…. Но ничего не работает
Я проверил, и у меня тот же ключ ssh-add -l
, что и в github
Здесь вы можете увидеть экраны команд, которые я пытаюсь выполнить, и которые не были выполнены должным образом:
Комментарии:
1. У меня также возникает ошибка, когда я это делаю
$ ssh -v git@github.com
, у меня есть сообщение об ошибке и сообщение об успешном завершении, я не знаю, есть ли ссылка на это, и ошибка аутентификации — запрос на выделение PTY не удался на канале 0 — Привет, Phorcys-1! Вы успешно прошли проверку подлинности, но GitHub не предоставляет доступ к командной строке. — Подключение к github.com закрыто.
Ответ №1:
Если ssh -Tv git@github.com
это работает в сеансе командной строки git (для Windows), это означает, что у вас должна быть (проверьте) пара открытых / закрытых ключей в%USERPROFILE%
Откройте CMD (не git bash) cd %USERPROFILE%.ssh
и найдите id_rsa
id_rsa.pub
файл.
Если закрытый ключ был создан без парольной фразы, вам не нужно ssh-add -l
: это только для закрытых ключей, защищенных парольной фразой.
Если вы их не видите, посмотрите на вывод ssh -Tv git@github.com
, чтобы узнать, где находится ключ, фактически используемый openssh.
Проверьте также %USERPROFILE%.ssh
наличие файла конфигурации, который может указать правильный путь для этих ключей.
Комментарии:
1. Спасибо за ответ. У меня есть ключи в моем ~/.ssh, и мой закрытый ключ был создан с помощью парольной фразы. И вот как выглядит мой конфигурационный файл: Host git@github.com Идентификатор файла ~/.ssh/id_rsa Пользователя Phorcys-1 AddKeysToAgent да
2. @Julio OK: попробуйте для тестирования воссоздать свои ключи без парольной фразы, зарегистрируйте свой открытый ключ на GitHub и переименуйте свой конфигурационный файл (в этом случае он вам не нужен)
3. @Julio Для личного использования, это то, что я бы рекомендовал.
4. Да, но это для совместной работы… Я не буду долго хранить ключ без парольной фразы
5. @Julio Затем повторите попытку с помощью защищенной ключевой фразы, но не используйте файл конфигурации
Ответ №2:
Это вывод ssh -Tv git@github.com
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
- debug1: чтение данных конфигурации C:Userssoari/.ssh/config
- debug1: подключение к github.com [140.82.121.4] порт 22.
- debug1: соединение установлено.
- debug1: файл идентификации C:Userssoari/.ssh/id_rsa тип 0
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_rsa-cert тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_dsa тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_dsa-cert тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_ecdsa тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_ecdsa-cert тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_ed25519 тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_ed25519-cert тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_xmss тип -1
- debug1: key_load_public: нет такого файла или каталога
- debug1: файл идентификации C:Userssoari/.ssh/id_xmss-cert тип -1
- debug1: строка локальной версии SSH-2.0-OpenSSH_for_Windows_7.7
- debug1: удаленный протокол версии 2.0, удаленная версия программного обеспечения babeld-c863b32e
- debug1: нет соответствия: babeld-c863b32e
- debug1: аутентификация в github.com: 22 как «git»
- debug1: SSH2_MSG_KEXINIT отправлен
- debug1: получен SSH2_MSG_KEXINIT
- debug1: kex: алгоритм: curve25519-sha256
- debug1: kex: алгоритм ключа хоста: rsa-sha2-512
- debug1: kex: сервер-> клиентский шифр: chacha20-poly1305@openssh.com MAC: сжатие: отсутствует
- debug1: kex: шифр клиента-> сервера: chacha20-poly1305@openssh.com MAC: сжатие: отсутствует
- debug1: ожидание SSH2_MSG_KEX_ECDH_REPLY
- debug1: Ключ хоста сервера: ssh-rsa SHA256: nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8
- debug1: хост ‘github.com ‘ известен и соответствует ключу хоста RSA.
- debug1: найден ключ в C:Userssoari/.ssh/known_hosts:5
- debug1: повторный ввод после 134217728 блоков
- debug1: отправлены SSH2_MSG_NEWKEYS
- debug1: ожидание SSH2_MSG_NEWKEYS
- debug1: получены SSH2_MSG_NEWKEYS
- debug1: повторный ввод после 134217728 блоков
- debug1: получен SSH2_MSG_EXT_INFO
- debug1: kex_input_ext_info: server-sig-algs=, ssh-rsa, ssh-dss>
- debug1: получен SSH2_MSG_SERVICE_ACCEPT
- debug1: проверки подлинности, которые могут быть продолжены: publickey
- debug1: следующий метод аутентификации: publickey
- debug1: предоставление открытого ключа: RSA SHA256: UgTMuv 9mt7CPvBKvP5LY0C7ArLvmV1eHd 9q83x / 6U C:Userssoari/.ssh/id_rsa
- debug1: сервер принимает ключ: pkalg ssh-rsa blen 407 предупреждение: агент вернул другой тип подписи ssh-rsa (ожидаемый rsa-sha2-512)
- debug1: аутентификация прошла успешно (publickey). Аутентифицирован для github.com ([140.82.121.4]:22).
- debug1: канал 0: новый [клиент-сеанс]
- debug1: вход в интерактивный сеанс.
- debug1: залог: сеть Привет, Phorcys-1! Вы успешно прошли проверку подлинности, но GitHub не предоставляет доступ к командной строке.
- debug1: client_input_channel_req: канал 0 rtype выход-статус ответа 0
- debug1: канал 0: свободен: клиент-сессия, nchannels 1 Передано: отправлено 2944, получено 2596 байт, за 0,3 секунды 1