当前位置:   article > 正文

Git | SSH 密钥连接到 GitHub

Git | SSH 密钥连接到 GitHub

如是我闻: 在新电脑上想推送分支,结果遇到了这个错误

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
  • 1
  • 2
  • 3
  • 4
  • 5

错误消息表明 Git 在尝试使用 SSH 密钥连接到 GitHub 时遇到了问题。以下是解决此问题的一般步骤总结:

1. 检查 SSH 密钥

首先,打开终端,检查是否有一个 SSH 密钥对(公钥和私钥):

ls ~/.ssh
  • 1

如果看到 id_rsaid_rsa.pub(或其他以 .pub 结尾的文件),说明已经有一个 SSH 密钥对。如果没有,需要生成一个新的 SSH 密钥对。

2. 生成新的 SSH 密钥对(如果没有现有的)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 1

按提示操作,将密钥文件保存到默认位置(~/.ssh)。

3. 添加 SSH 密钥到 SSH 代理

确保 SSH 代理正在运行,然后将 SSH 私钥添加到 SSH 代理:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
  • 1
  • 2

4. 将 SSH 公钥添加到 GitHub

需要将生成的公钥添加到我们的 GitHub 账户中:

  1. 打开公钥文件并复制内容:

    cat ~/.ssh/id_rsa.pub
    
    • 1
  2. 登录到 GitHub。

  3. 转到 Settings -> SSH and GPG keys -> New SSH key

  4. 将复制的公钥内容粘贴到 “Key” 字段,并为密钥命名,然后点击 “Add SSH key”。

5. 测试 SSH 连接

测试是否能够成功连接到 GitHub:

ssh -T git@github.com
  • 1

应该看到类似于以下的消息:

Hi yourusername! You've successfully authenticated, but GitHub does not provide shell access.
  • 1

6. 尝试再次推送

回到项目目录,再次尝试推送分支:

git push origin your-branch-name
  • 1

其他注意事项

  • 确保在 GitHub 上添加的是正确的公钥文件内容。

  • 确保的 SSH 代理在运行并且已经添加了私钥。

  • 如果有多个 SSH 密钥,可能需要在 ~/.ssh/config 文件中指定特定的密钥用于 GitHub:

    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa
    
    • 1
    • 2
    • 3
    • 4

非常的有品

以上

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/860576
推荐阅读
相关标签
  

闽ICP备14008679号