Push в GitHub Repository без персонального токена доступа, когда 2FA включен - PullRequest
1 голос
/ 01 апреля 2019

Я установил 2-факторную аутентификацию на GitHub некоторое время назад. Итак, однажды я работал в командной строке и хотел подтолкнуть к своему репо. Я ввел свое имя пользователя и пароль , но не получилось, выдав такую ​​ошибку

USERNAME@MYCOMPUTER:~/MyRepo$ git push
Username for 'https://github.com': GitHubUsername
Password for 'https://GitHubUsername@github.com': GitHubPassword 
remote: Invalid username or password.
fatal: Authentication failed for ' 
https://github.com/GitHubUsername/MyRepo/'

Итак, я прочитал этот пост и получил решение , что мне нужно создать a Личный токен доступа что-либо толкать. Хорошо, но я думаю, что это немного сложный процесс, потому что Первый Я не могу вспомнить, что массивный токен и Второй Хранение ключа доступа в текстовом файле - небезопасная вещь.

Итак, было бы очень хорошо, если бы кто-то мог дать простое решение для продвижения моего репо без отключения 2FA. - Спасибо!

1 Ответ

1 голос
/ 01 апреля 2019

Вместо использования Github через https, вы должны использовать github через ssh.

https://help.github.com/en/articles/connecting-to-github-with-ssh

Хотя настройка https проста, настроить соединения ssh немного сложнее, иИменно поэтому https используется в качестве стандартного параметра.

Если вы хотите подключиться к github, вам необходимо выполнить следующие шаги:

  1. Создатьключ ssh

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

    Обычно ключи ssh объединяются с программой, называемой ssh-agent, и эта программа в основном "кэширует" расшифрованный файл.введите в память либо навсегда, либо с таймаутом, поэтому не нужно многократно вводить пароль в течение короткого периода.

    Вы можете создать ключ следующим образом:

    1. Запуск ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    2. Следуйте стандартным параметрам и установите пароль.
    3. При необходимости настройте ssh-agent
  2. Расскажите Github о вашем новом ключе

    Когда вы создаете ключ ssh, он создает 2 файла, id_rsa и id_rsa.pub, *Файл 1043 * содержит открытый ключ.

    Вы можете загрузить этот ключ в Github , перейдя в настройки, нажав «ssh keys» и добавив туда ключ

  3. Обновите локальный репозиторий, чтобы использовать ssh-ключи

    Теперь, когда вы сообщили github о своем новом fЧтобы использовать этот ключ, необходимо настроить хранилище на диске.

    Для этого можно использовать команду git remote:

    git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
    

    Проверьте новые настройки, выполнив git fetch, он должен запросить ваш пароль SSH-ключа, а затем получить любые ветки обновлений.

...