1. ошибка git push
2021-08-13
Поскольку Github
больше не поддерживается использование метода «имя пользователя + пароль» для отправки кода, и git push
после .
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
В настоящее время поддерживаются следующие методы: OAuth
, SSH Key
илиGitHub App installation token
2. Используйте SSH-ключ
SSH Key
Метод сначала должен сгенерировать SSH Key
ключ , а затем добавить открытый ключ, сгенерированный локально Github
, к , чтобы обе стороны имели инструменты шифрования и дешифрования для реализации процесса зашифрованной передачи и дешифрования данных.
2.1. Генерация ключа
Существует rsa
два ed25519
рекомендуемых алгоритма генерации ключей ed25519
. О преимуществах и недостатках разницы между ними можно прочитать в этой статье «ssh-key-ed25519-vs-rsa» .
[注]:以下命令在 Windows 同样可以使用。
(1) Перед созданием ключа убедитесь, что вы git
настроили имя пользователя и адрес электронной почты.Если вам не нужно настраивать его сначала, используйте следующую команду:
$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"
(2) Сгенерируйте ключ ed25519
типа :
команда:
ssh-keygen -t ed25519 -C "你的邮箱"
Пример (директория хранения по умолчанию для ключа будет напечатана ниже):
imaginemiracle:~$ ssh-keygen -t ed25519 -C "[email protected]"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/imaginemiracle/.ssh/id_ed25519): # 输入回车选择默认密钥保存目录
Enter passphrase (empty for no passphrase): # 输入回车
Enter same passphrase again: # 输入回车
Your identification has been saved in /home/imaginemiracle/.ssh/id_ed25519
Your public key has been saved in /home/imaginemiracle/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:gPyj8hLrqxTtk7e48x4P5Y7o2bGITbWCRTVy8CTziis [email protected]
The key's randomart image is:
+--[ED25519 256]--+
| =.= |
| .X.. |
| .oo. |
| + .. . |
| o + .o.S |
| B o.+. |
|E+.O.* . |
|o *+X X |
|.++@*B o |
+----[SHA256]-----+
(3) Просмотрите ключ в каталоге, в котором он был сгенерирован.
imaginemiracle:~/.ssh$ pwd
/home/imaginemiracle/.ssh
imaginemiracle:~/.ssh$ ls
id_ed25519 id_ed25519.pub
(4) Добавьте информацию из открытого ключа Github
в
(5) Переключитесь https
на ssh
загрузку
# 查看当前传输方式
imaginemiracle:~$ git remote -v
origin https://github.com/ImagineMiracle-wxn/rvlinux_IM.git (fetch)
origin https://github.com/ImagineMiracle-wxn/rvlinux_IM.git (push)
# 切换为 ssh
imaginemiracle:~$ git remote set-url origin [email protected]:ImagineMiracle-wxn/rvlinux_IM.git
# 查看当前传输方式
imaginemiracle:~$ git remote -v
origin [email protected]:ImagineMiracle-wxn/rvlinux_IM.git (fetch)
origin [email protected]:ImagineMiracle-wxn/rvlinux_IM.git (push)
(6) РЭ push
.
imaginemiracle:~$ git push origin master