Перейти к содержимому

Username for https github com что это

  • автор:

Как исправить: fatal: Authentication failed for https://github.com/

thumb

После включения двухфакторной аутентификации в моей учётной записи GitHub, когда Я запускаю команду Git git push она выдаёт следующее сообщение об ошибке:

$ git push Username for 'https://github.com': Username Password for 'https://Username@github.com': remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/username/repository.git/'

Что вызывает эту ошибку

Это сообщение об ошибке говорит само за себя. Это означает то, что мы пытаемся использовать неверное имя пользователя или пароль. Но Я уверен в том, что использую правильное имя пользователя и пароль. В моём случае, это произошло со мной после того, как Я включил двухфакторную аутентификацию (2FA) в моём аккаунте GitHub. Поэтому я знаю о том, что вызвало это сообщение об ошибке.

Как это решить

Как только мы узнали о том, что вызывает сбой работы git , мы можем использовать это для решения проблемы. Это действительно простой процесс. Для того, чтобы решить эту проблему, нам нужно всего лишь создать личный token доступа GitHub и использовать его вместо нашего пароля GitHub и двухфакторного кода аутентификации. Теперь пошаговое руководство.

Создание token доступа к персональному доступу GitHub.

В правом верхнем углу любой страницы нажмите на фотографию своего профиля, затем нажмите Settings .

В левой боковой панели нажмите Developer settings .

В левой боковой панели нажмите Personal access tokens .

Нажмите Generate new token .

Дайте вашему token имя (любое имя описывающее цель его создания).

Выберите области действия или разрешения, которые вы хотите предоставить этому token. Для того, чтобы использовать ваш token для доступа к репозиториям из командной строки, выберите repo .

Нажмите Generate token .

Скопируйте token в буфер обмена. По соображениям безопасности, после ухода со страницы, вы не сможете снова увидеть token.

Как исправить: fatal: Authentication failed for https://github.com/

Примечание! Относитесь к своим token’ам, как к паролям и держите их в тайне (если вы не хотите, чтобы другие люди использовали API от вашего имени). При работе с API, используйте token’ы как переменные окружения вместо hardcoding их в ваши программы.

Использование token в командной строке.

Как только у нас появился token, мы можем ввести его вместо нашего пароля при выполнении операций Git через HTTPS. Просто введите свой token после запроса пароля, а затем смотрите на то, как происходит магия…

git push 
Username: your_username Password: your_token

Примечание! Token’ы личного доступа могут использоваться только для операций HTTPS Git. Если ваш репозиторий использует удалённый URL SSH, вам нужно будет переключить управление с SSH на HTTPS.

Примечание! Если вам не будет предложено ввести имя пользователя и пароль, ваши учетные данные могут быть кэшированы на вашем компьютере. Вы можете обновить свои учетные данные в Keychain заменить старый пароль на token.

Заключение

Вот и всё, готово. Теперь проблема возникшая после включения двухфакторной аутентификации в учётной записи GitHub устранена. Так просто, не так ли?

Если у вас возникают проблемы в устранении этой проблемы с помощью приведенной выше инструкции, но вы смогли решить эту проблему любым другим способом, пожалуйста, опишите его в разделе комментариев ниже. Спасибо!

Я надеюсь, что эта статья помогла вам узнать, как решить проблему которая возникла после включения двухфакторной аутентификации в учётной записи GitHub. Если эта статья помогла вам решить проблему, пожалуйста, оставьте комментарий

Спасибо за прочтение!

Buy me a coffee!

Надеюсь, это помогло!

Если этот пост помог вам, и вы хотели бы показать свою поддержку, подумайте о том, чтобы заправить будущие посты, купив мне чашку кофе!

Артур Гарегинян

Артур Гарегинян

Arthur is a designer and full stack software engineer. He is the founder of Space X-Chimp and the blog My Cyber Universe. His personal website can be found at arthurgareginyan.com.

6.1 GitHub — Настройка и конфигурация учетной записи

GitHub — это крупнейшее хранилище Git репозиториев, а так же центр сотрудничества для миллионов разработчиков и проектов. Огромный процент всех репозиториев хранится на GitHub, а многие проекты с открытым исходным кодом используют его ради Git хостинга, баг-трекера, рецензирования кода и других вещей. Так что, пока всё это не часть открытого Git проекта, наверняка вы захотите, или вам придётся взаимодействовать с GitHub при профессиональном использовании Git.

Эта глава про эффективное использование GitHub. Мы разберём регистрацию, управление учётной записью, создание и использование Git репозиториев, как вносить вклад в чужие проекты и как принимать чужой вклад в собственный проект, а так же программный интерфейс GitHub и ещё множество мелочей, который облегчат вам жизнь.

Если вас не интересует использование GitHub для размещения собственных проектов или сотрудничества с другими проектами, размещёнными на нём, вы можете смело перейти к главе Инструменты Git.

Настройка и конфигурация учетной записи

Первым делом нужно создать бесплатную учётную запись. Просто зайдите на https://github.com, выберите имя которое ещё не занято, укажите адрес электронной почты и пароль, а затем нажмите большую зелёную кнопку «Sign up for GitHub».

Форма регистрации на GitHub

Рисунок 81. Форма регистрации на GitHub

Далее вы попадёте на страницу с тарифными планами, её пока можно проигнорировать. GitHub вышлет письмо для проверки вашего электронного адреса. Сделайте этот шаг, он достаточно важный (как мы увидим далее).

Примечание

GitHub предоставляет почти все свои функции для бесплатных учётных записей, за исключением некоторых расширенных возможностей. Платные тарифы GitHub включают расширенные инструменты и функции, а также увеличенные лимиты на бесплатные услуги, но мы не будем рассматривать их в этой книге. Для того, чтобы получить более подробную информацию об имеющихся тарифах и их сравнение, посетите https://github.com/pricing.

Клик на расположенном в верхнем левом углу экрана логотипе, изображающем гибрид кота и осьминога (его называют осьмикот), откроет панель управления. Теперь всё готово для работы с GitHub.

Доступ по SSH

На данный момент вы можете подключаться к репозиториям Git используя протокол https:// авторизуясь при помощи только что созданного логина и пароля. Однако для того чтобы просто клонировать публично доступный проект, вам необязательно авторизовываться на сайте, но тем не менее, только что созданный аккаунт понадобится в то время, когда вы захотите загрузить (push) сделанные вами изменения.

Если же вы хотите использовать SSH доступ, в таком случае вам понадобится добавить публичный SSH ключ. (Если же у вас нет публичного SSH ключа, вы можете его сгенерировать) Откройте настройки вашей учётной записи при помощи ссылки, расположенной в верхнем правом углу окна:

Ссылка «Настройка учётной записи»

Рисунок 82. Ссылка «Настройка учётной записи» («Account settings»)

Выберите секцию слева под названием «Ключи SSH» («SSH keys»).

Ссылка «Ключи SSH» («SSH keys»)

Рисунок 83. Ссылка («SSH keys»)

Затем нажмите на кнопку «Добавить ключ SSH» («Add an SSH key»), задайте имя ключа, а так же скопируйте и вставьте сам публичный ключ из ~/.ssh/id_rsa.pub (ну или как бы у вас не назывался этот файл) в текстовое поле, затем нажмите «Добавить ключ» («Add key»).

Примечание

Задавайте такое имя SSH ключа, которое вы в состоянии запомнить. Называйте каждый из добавляемых ключей по-разному (к примеру «Мой Ноутбук» или «Рабочая учётная запись»), для того чтобы в дальнейшем, при аннулировании ключа быть уверенным в правильности своего выбора.

Ваш аватар

Следующий шаг, если хотите — замена аватара, который был сгенерирован для вас, на вами выбранный аватар. Пожалуйста зайдите во вкладку «Профиль» («Profile»), она расположена над вкладкой «Ключи SSH» и нажмите «Загрузить новую картинку» («Upload new picture»).

Ссылка «Профиль» («Profile»)

Рисунок 84. Ссылка «Профиль» («Profile»)

Выберем логотип Git с жёсткого диска и отредактируем картинку под желаемый размер.

Рисунок 85. Редактирование аватара

После загрузки каждый сможет увидеть ваш аватар рядом с вашим именем пользователя.

Если вы используете такой популярный сервис как Gravatar (часто используется для учётных записей WordPress), тот же самый аватар будет использован «по умолчанию».

Ваши почтовые адреса

GitHub использует ваш почтовый адрес для привязки ваших Git коммитов к вашей учётной записи. Если вы используете несколько почтовых адресов в своих коммитах и хотите, чтобы GitHub работал с ними корректно, то вам нужно будет добавить все используемые почтовые адреса в секцию под названием «Почтовые адреса» («Emails»), расположенную на вкладке «Администрирование» («Admin»).

Добавьте все ваши почтовые адреса

Рисунок 86. Почтовые адреса

Как можно видеть на рисунке Почтовые адреса, у почтовых адресов имеются несколько состояний. Верхний почтовый адрес подтверждён и является основным для пользователя, это тот самый адрес, куда будут направляться оповещения, а также остальные уведомления. Второй адрес тоже подтверждён, и так же может быть назначен в качестве основного. Последний адрес не подтверждён, это значит, что вы не можете использовать его в качестве основного и получать на него уведомления. При отправке коммита в любой из репозиториев, GitHub распознает один из указанных почтовых адресов и автоматически привяжет этот коммит к вашей учетной записи.

Двухфакторная аутентификация

В качестве дополнительной меры безопасности, вы можете настроить «Двухфакторную аутентификацию» («Two-factor Authentication» или «2FA»). Двухфакторная аутентификация — механизм, который становится всё более и более популярным методом по снижению риска скомпрометировать вашу учётную запись в ситуации, когда пароль от вашей учётной записи, по тем или иным причинам, стал известен злоумышленникам. Активация этого механизма заставит GitHub запрашивать у вас оба пароля при авторизации, поэтому даже в ситуациях, когда ваш основной пароль скомпрометирован, злоумышленник всё равно не получит доступ к вашей учётной записи.

Вы сможете найти настройку «Двухфакторной аутентификации» («Two-factor Authentication») в секции «Безопасность» («Security») вкладки «Настройка учётной записи» («Account settings»).

Двухфакторная аутентификация («Two-factor Authentication»)

Рисунок 87. Двухфакторная аутентификация («Two-factor Authentication»)

При нажатии на кнопку «Настроить двухфакторную аутентификацию» («Set up two-factor authentication») вы будете перенаправлены на страницу, где вам нужно будет настроить использование мобильного приложения для генерации вторичного кода проверки (так называемый «одноразовый пароль основанный на времени»), так же можно настроить GitHub таким образом, чтобы он отправлял вам СМС с кодом в момент, когда вам нужно авторизоваться на сайте.

После того, как вы выберете предпочитаемый вами метод и выполните предлагаемые инструкции, ваша учётная запись будет в большей безопасности, и вам будет предоставляться дополнительный код во время авторизации на сайте.

Как сохранять ТОЛЬКО username в git

Каждый раз когда я делаю push/pull/clone git спрашивает мой юзернейм и пароль на гитхабе. Username for ‘https://github.com’: Password for ‘https://[email protected]: Я нашел решение через credential.helper но оно сохраняет так же и пароль, мне же надо только хранение юзернейма. Есть какойто вариант?

Отслеживать
задан 2 янв 2020 в 19:17
Yegor Ivlev Yegor Ivlev
5 1 1 бронзовый знак
А с какой целью Вам нужно сохранять только юзернейм? Не могу понять какая у Вас цель.
2 янв 2020 в 19:26

@V.March лень вводить каждый раз) Но пароль хранить не хочу, во первых как я понял он хранится не зашифрованный, во вторых оставлять взаимодействия с гитхабом совсем без защиты не хочется

2 янв 2020 в 19:32

Я пока не нашел такого способа. Хотя вводить длиннючий логин, а потом еще случайно ошибиться при вводе пароля — очень таки раздражает. а ковыряться и что-то воротить сверх жлания небыло, так и от риска что-то попутно сломать никто не застрахован. Можете попробовать с гитокрафтерами поговорить. Но учитывая кто гит выкупил — то боюсь что Ваш вопрос потеряется среди остальных.

2 янв 2020 в 19:43
Не надо использовать ни юзернейм ни пароль, надо использовать ssh-ключ 😉
2 янв 2020 в 19:54
@andreymal кстати тоже как вариант.
2 янв 2020 в 19:57

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Это может быть не тот ответ, который вы ищете, но чем быстрее вы перейдёте на аутентификацию через публичный SSH-ключ, тем быстрее вы решите множество проблем для себя. Если вы боитесь, что кто-то может украсть ваш приватный ключ, для этого есть ключи с паролями (которые кстати будут работать как раз так как вы хотите, спрашивать пароль, но не юзернейм), а также двухфакторная авторизация через систему одноразовых паролей.

У Гитхаба и Гитлаба есть прекрасные пошаговые гиды, которые помогут вам настроить SSH+2FA:

  • Connecting to GitHub with SSH
  • Configuring two-factor authentication
  • GitLab and SSH keys
  • Two-Factor Authentication

Отслеживать
ответ дан 2 янв 2020 в 20:29
16k 3 3 золотых знака 25 25 серебряных знаков 41 41 бронзовый знак

При использовании credential.helper пароли вашей учетной записи git будут сохранены в формате global .gitconfig file В нём хранятся данные, которые можно подправить.
Ещё можно установить логин таким образом(Инфо из документации):
Но у меня это не сработало, всё равно запрашивал логин.

git config --global user.name "your username" 

Можно использовать прям url к примеру:
git config —global url.»https://username:@github.com/».insteadOf «https://github.com/»

Подробнее(Вариант вручную, если спецсимволы в username):
Вы можете сделать это в .git/config файле вашего локального хранилища. Этот файл содержит раздел под названием «remote» с записью под названием «url». Запись ‘url’ должна содержать ссылку на https репозитория

Заменив префикс хоста ‘url’ с вашим именем пользователя, больше gitне должны спрашивать ваше имя пользователя. Вот пример:

git. Настройка git

Сперва нужно настроить git, установив user.name и user.email. Приятно знать, от кого коммит. Таким образом команда git blame и ваша IDE будут подсказывать имя того, кто закоммитил ту или иную строчку.

git config --global --add user.name 'Name Surname' git config --global --add user.email 'your@mail.here'

Эти команды автоматически внесут правки в конфигурационный файл git: ~/.gitconfig. Также файл ~/.gitconfig можно редактировать и вручную vim ~/.gitconfig

git current branch

Для удобной работы с бренчами нужно поставить пакет bash-completion (под маком установить git с вариантом +bash_completion) и добавить такую инструкцию в ~/.bash_profile (или ~/.bashrc). Отображать имя git бренча в консоли:

PS1='\h:\W$(__git_ps1 " (%s)") \u\$ '

Теперь имя текущего бренча будет отображаться слева от строки ввода в консоли и будет всегда на виду (изменения вступят в силу после ребута). Чтобы не перезагружаться, можно сделать source ~/.bashrc , чтобы изменения добавленные в файл, немедленно вступили в силу.

git pull

От git pull нужно отказаться ввиду потенциальных проблем которые он несет. Вместо него лучше использовать явную связку git fetch + git merge.

Поэтому ежедневная работа должна строиться так:

git fetch # fetch remote changes to origin/* git branch # show the current branch, e.g. "master" git merge origin/master # merge remote changes of branch 'master' into local copy of branch 'master' git push origin master # push local changes of branch 'master' into remote branch 'master'

На одну команду больше — казалось бы, зачем. Тем не менее, такая схема будет способствовать тому что вы понимаете, что и куда мержите и что и куда вливаете. То есть, вызов git fetch не обязывает вас думать, правильно ли вы получаете изменения с центрального сервера, т.к. они всё равно попадут не в ваш текущий бренч, а в соответствующие бренчи origin/*, после чего вы, к примеру, сможете посмотреть, что это за изменения, стоит ли их в свой локальный бренч вливать, и т.д.

git merge

git merge branch2

Командой выше мы мерджим branch2 в текущий бранч, в тот, в котором мы сейчас находимся.

Влить ветку, но коммита при этом не произойдёт! После этого можно делать git diff или применять сторонние утилиты для diff. Очень удобно смотреть, какие изменения принесёт ветка:

git merge --squash --no-commit feature-branch

Узнать, в каком бранче мы сейчас находимся:

git branch

Текущий бренч помечен звёздочкой.

Список бренчей на сервере:

git branch -a

Удаление git бренчей

Удалить локальный branch:

git branch -d branch_name

Удалить локальный branch с игнорированием изменений в нём (если с -d не получается):

git branch -D branch_name

Удалить локальные бренчи, которые удалены с сервера:

git remote prune origin --dry-run

Удалить бренч с origin сервера git:

git push origin :master_my_branch

Как отменить последний коммит в git?

Если случайно закоммитили лишние файлы или изменения, но еще не запушили, отменить последний коммит:

git reset --soft HEAD^

Эта команда отменит последний коммит (но не изменения, которые вы внесли. Код будет в таком же состоянии, как был до коммита).

Если последний коммит ужасен, то можно вообще его удалить:

git reset --hard HEAD^

Все это работает, если вы не опубликовали свои изменения. В случае, если вы их опубликовали, то не остается ничего другого, как сделать коммит, который отменяет какой-то коммит. sha1 коммита, который вы хотите удалить, можно посмотреть командой git log.

git revert sha1

После этого надо сделать git push.

Удобным life-хаком для работы с git ещё будет настроить более короткие алиасы.

Дата добавления: 11 лет назад

git

Похожий контент:

  • Как посмотреть diff файлов которые в индексе git? Решено!
  • Git удалить origin branch Решено!
  • Что значит git clone —depth Решено!
  • Как отменить ошибочный git commit —amend Решено!
  • Ошибка при деплое на gh-pages: Failed to get remote.origin.url 1 ответ
  • Полезные git aliases 0 комментариев
  • Доступ к bitbucket и github по ssh ключам5 комментариев
  • Отправить Pull Request в чужой репозиторий на github 0 комментариев
  • Сказать git какой из ssh-ключей использовать 0 комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *