在push本地仓库遇到的SSH公钥认证问题
Warning: Permanently added 'github.com,xx.xxx.xxx.xxx' (ECDSA) to the list of known hosts. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
- 确保您已经在本地计算机上生成了SSH密钥对。如果没有,请使用以下命令生成:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将your_email@example.com替换为您的实际电子邮件地址。按照提示操作,您可以选择自定义密钥的保存位置和文件名,或者使用默认设置。
- 确保SSH代理正在运行并加载了您的私钥。运行以下命令启动SSH代理:
eval "$(ssh-agent -s)"
然后,使用以下命令将您的私钥添加到SSH代理:
ssh-add ~/.ssh/id_rsa
请注意,如果您在生成密钥对时使用了自定义文件名或路径,请将~/.ssh/id_rsa替换为实际路径。
- 将您的公钥添加到GitHub。首先,使用以下命令将公钥复制到剪贴板(注意这是Linux系统):
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
这将安装xclip工具,并将id_rsa.pub文件的内容复制到剪贴板中。然后,您可以将公钥粘贴到GitHub中。
然后,登录到GitHub,转到您的帐户设置,点击“SSH and GPG keys”,然后点击“New SSH key”。将复制的公钥粘贴到“Key”字段中,为密钥提供一个描述性名称,然后点击“Add SSH key”。
- 确保您的本地仓库使用SSH URL。在VSCode的终端中输入以下命令以查看当前的远程仓库设置:
git remote -v
如果远程仓库的URL以https://开头,您需要将其更改为SSH URL,在GitHub仓库页面