Я использую github и в прошлом успешно добавлял и синхронизировал файлы на своем ноутбуке.
в последнее время я начал получать « Неустранимая ошибка PuTTY: отключено: поддерживаемые методы аутентификации недоступны » после запуска:
git pull origin master (или push)
тем не мение
ssh git@github.com возвращает правильный ответ: ОШИБКА: Привет, имя пользователя! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке. Подключение к github.com закрыто.
Покопавшись в github, я нашел этот морсель:
Нет поддерживаемых методов аутентификации. Вы должны знать о переменной окружения GIT_SSH, которая используется git для поиска вашего ssh-говорящего клиента, если ssh не работает для вас. Установка git может использовать plink.exe (через GIT_SSH) для выполнения аутентификации. Если это так, убедитесь, что у вас запущен pageant.exe и в него загружен ключ, который вы создали для github. Это дает ключ к plink.exe; без него возникнет указанная выше ошибка.
не уверен, что такое plink.exe или peagant.exe ... и тот факт, что ssh git@github.com, похоже, проходит аутентификацию правильно, заставляет меня задаться вопросом, какое здесь лучшее решение ... я, конечно, не хочу чрезмерно усложнять свою настройку, если нет нужно.
GIT_SSH
было,.bash_profile
а не.profile
GIT_SSH="D:\Program Files\Git\usr\bin\ssh.exe"
Использование TortoiseGit
TortoiseGit> Настройки ... Сеть ... Клиент SSH:
C:\Program Files\Git\usr\bin\ssh.exe
Расположение мое варьируется. На одном компьютере это было в
C:\Program Files (x86)\Git\bin\ssh.exe
источник
Поскольку вы спрашиваете: plink и pageant являются частью пакета PuTTY, который представляет собой реализацию SSH, которая поддерживает Linux и Windows и полностью доминирует в Windows.
SSH
Если вы когда-либо использовали Telnet, это так (но более безопасно): он позволяет вам удаленно обращаться к оболочке bash (командной строке) хоста Linux.
PuTTY
В Windows это доминирующее программное обеспечение для удаленного доступа к командной строке хоста Linux по протоколу SSH (см. Выше). В Windows расширения .exe предназначены для исполняемых файлов. Так что эти примечания о plink.exe и pageant.exe, вероятно , не применимы, если вы работаете в Linux . PuTTY включает
Из ( http://en.wikipedia.org/wiki/Secure_Shell#Key_management )
Таким образом, github размещен на машине Linux и использует SSH для защиты соединения. SSH аутентифицируется с помощью паролей или ключей, многие хосты (github?) Аутентифицируются только с помощью ключей. Ваша установка, по-видимому, пытается аутентифицироваться с помощью ключа. Ключи и хосты не являются однозначными: у вас может быть два ключа для одного хоста и / или два хоста для одного и того же ключа, поэтому ими нужно управлять. Если вы работаете в Windows, то ваш сеанс SSH, вероятно, доступен через plink, а ваши ключи, вероятно, управляются Pageant.
Импортируйте ключ, который вам нужен каждый раз при загрузке Pageant. Если вы следовали руководствам, в которых говорилось «импортируйте свой ключ», и увидели, что это работает, но сейчас не работает, см. Главу 9: Использование Pageant для аутентификации. .
Последний совет, если вы работаете в Windows: у вас может быть несколько экземпляров пакета PuTTY, установленных различными инструментами. Например, TortoiseGit устанавливает свой собственный.
источник
У меня возникла эта проблема, потому что я
GIT_SSH
указывал на версию TortoiseSVNPlink.exe
. Я изменил его, чтобы он указывал на версию TortoiseGit, перезапустил cmd, и он сработал.Я не могу точно вспомнить, но версия TortoiseSVN могла быть 32-битной версией, а версия TortoiseGit была 64-битной (находится в
Program Files
, а неProgram Files (x86)
).Дважды проверьте свой
GIT_SSH
env var.Я предпочитаю использовать git в обычном режиме
cmd.exe
(конечно, в Console2)источник
Для пользователей TortoiseGit в Windows
Первоначально я использовал для настройки большинства своих репозиториев Github / Bitbucket URL-адреса репозитория SSH, поскольку (изначально) это был единственный удобный способ предотвратить запрос пароля TortoiseGit для каждого отдельного действия.
Но установка TortoiseGit таким образом всегда была мучительно болезненной. Каждый раз, когда мне потребовались часы на правильную настройку у , поскольку параметры установки по умолчанию никогда не работали (даже в 2016 году, черт возьми!).
Но в TortoiseGit теперь улучшено управление паролями для HTTPS, и Github фактически рекомендует использовать URL-адреса HTTPS везде, где это возможно.
Преимущества HTTPS:
pageant.exe
постоянно работающий (который запрашивает ваш пароль при каждом запуске)источник
Если вы используете Pageant и получаете сообщение об ошибке, описанное в вопросе, после перезагрузки компьютера (или иного закрытия и повторного открытия Pageant):
Ошибка может быть вызвана тем, что в Pageant не загружен активно SSH-ключ GitHub. По умолчанию Pageant НЕ загружает автоматически ключи из предыдущего сеанса при запуске.
Чтобы загрузить ключ:
Чтобы избежать этой проблемы в будущем, вы можете настроить Pageant так, чтобы он автоматически загружал ваш ключ при запуске. (Pageant автоматически запросит пароль, если ваш ключ защищен паролем.)
Шаги для этого (при условии, что у вас уже настроен Pageant для запуска при запуске Windows):
shell:startup
)Ссылка и полная информация: http://blog.shvetsov.com/2010/03/making-pageant-automatically-load-keys.html
источник
Моя проблема заключалась в том, что я пытался использовать свое имя пользователя github. Очевидно, при использовании Github (или это вещь Git?) , Если вы используете аутентификацию на основе ключей, вам нужно установить свое имя пользователя на
git
.Я не уверен, зачем вам вообще нужно имя пользователя - возможно, кто-то более знающий сможет это объяснить?
источник
ssh://git@github.com/myname/repo.git
будет отлично работать. Хорошая работа. Что касается того, почему, я предполагаю, что это ограничение безопасности. У пользователя git отключен вход в систему, поэтому никто не сможет взломать систему таким образом. У них должен быть действующий ключ, чтобы даже разговаривать с Github, и как только у них есть действующий ключ, они могут сопоставить его с пользователем для входа в систему.На моем компьютере с Windows 7 работает Github для Windows с использованием git версии 1.8.3.msysgit.0. Я обнаружил, что обновление моей системной переменной среды GIT_SSH до C: \ Program Files (x86) \ Git \ bin \ ssh.exe, похоже, помогло. Это также устранило мою проблему с обращением к репозиторию OpenShift git.
источник
Работал для меня в Windows 8: переменная GIT_SSH указывала на plink.exe, изменил ее в настройках системы, чтобы указать на двоичный файл ssh, и это устранило проблему. Чтобы узнать полный путь к ssh, запустите:
источник
Я сделал это для решения этой проблемы.
Я использовал Git Bash в Windows 10
Я запустил Pageant, нажал кнопку «Добавить»,
перешел в папку C: \ Users \ username \ .ssh и выбрал мой ключ
Затем я пытаюсь сделать git push, и на этот раз он сработал.
источник
Та же ошибка, другое решение, отмеченное здесь - Проблема с подключением к GitHub в Windows, даже через PuTTY
источник
Я столкнулся с той же проблемой, однако решение GIT_SSH, похоже, однажды сработало для меня. После перезагрузки компьютера я понял, что это что-то еще, так как я мог без проблем клонировать свои частные репозитории с помощью Git Bash или командной строки, но не в Sublime Text 3 с плагином SublimeGit. Мое решение было простым и на самом деле то, что @BlueRaja - Дэнни Пфлугхёфт но я подумал, что это может использовать какое-то направление;)
В основном вам просто нужно отредактировать
~/.ssh/config
и убедиться, что имя пользователяgit
. Вы также можете указать ему использовать определенный ключ SSH для Github - мой~/.ssh/config
файл выглядит следующим образом:У меня есть особый ключ для Github из-за множества других вещей, которые я делаю в течение дня, но если у вас есть только один, то обычно это будет
~/.ssh/id_rsa.pub
похоже на то, что Github объясняет здесь .Я знаю, что у каждого есть свое решение, но я оставлю это здесь для всех, кто может столкнуться с этой статьей без исправления. Удачи!
источник
Я получил эту ошибку при использовании TortoiseGit для клонирования репозитория из GitHub. Исправлено нажатием кнопки «Загрузить ключ шпатлевки» и выбором файла ключа (* .pkk) в диалоге клонирования Git.
источник
Вы можете получить ссылку и представление здесь: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Это инструменты PuTTY.
источник
У меня возникла эта проблема (прямой ssh работал, но git pull не удалось) из-за того, что мой git remote не такой, как я думал.
Да, да, я знаю, что это глупая ошибка, но она бывает и стоит проверить.
Использовать
git remote -v
источник
У меня была аналогичная проблема после обновления GitExtensions до версии 3.3.0.7719
Каким-то образом он вернул мои настройки аутентификации, чтобы использовать PuTTY вместо OpenSSH.
В этой версии вот меню, которое я использовал для повторного включения OpenSSH:
источник