在 Windows 上添加 github SSH 密钥

在 Windows 上添加 SSH 密钥的步骤如下:

1. 检查是否已有SSH密钥

首先,打开 Git Bash 或 Windows Terminal,输入以下命令查看是否已有 SSH 密钥:

bash 复制代码
ls -al ~/.ssh

如果你看到 id_rsaid_rsa.pub(或其他的文件名以 .pub 结尾),则已经存在 SSH 密钥。

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

如果没有现有密钥,你可以生成一个新的 SSH 密钥:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 替换 your_email@example.com 为你的邮箱。
  • 如果询问你要保存密钥的位置,直接按 Enter 以使用默认位置(~/.ssh/id_rsa)。
  • 如果提示输入密码短语,可以选择输入一个(提供额外的安全性),或直接按 Enter 为空。

3. 添加SSH密钥到ssh-agent

确保 ssh-agent 正在运行,并将 SSH 密钥添加到 ssh-agent:

bash 复制代码
# 启动 ssh-agent
eval $(ssh-agent -s)

# 添加 SSH 密钥
ssh-add ~/.ssh/id_rsa

4. 将SSH密钥添加到GitHub/GitLab等平台

接下来,你需要将生成的公钥添加到你的 GitHub 或 GitLab 账户中:

  1. 复制公钥

    bash 复制代码
    clip < ~/.ssh/id_rsa.pub

    这个命令会把公钥复制到剪贴板。

  2. 添加到 GitHub:

    • 登录到你的 GitHub 帐户。
    • 进入 Settings > SSH and GPG keys > New SSH key
    • 在 "Title" 中输入描述,粘贴公钥到 "Key" 字段,然后点击 "Add SSH key"。

5. 测试SSH连接

完成上述步骤后,可以测试 SSH 连接是否成功:

bash 复制代码
ssh -T git@github.com

如果提示 Hi username! You've successfully authenticated, but GitHub does not provide shell access,说明设置成功。

常见错误和解决步骤:

如果在使用 ssh -T git@github.com 命令时出现"Permission denied (publickey)"的错误,说明 SSH 身份验证失败,可能是由于以下几种原因造成的:

  1. 确认SSH密钥存在

    再次检查你的 SSH 密钥是否存在于 ~/.ssh/ 目录下:

    bash 复制代码
    ls -al ~/.ssh

    确认你的公钥(一般是 id_rsa.pubid_ed25519.pub)确实存在。

  2. 确保SSH密钥已添加到ssh-agent

    确保 SSH 代理已启动并且将密钥添加到代理中。输入以下命令:

    bash 复制代码
    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa  # 或者你的私钥文件名

    注意:

    如果在window cmd中运行,无法使用 eval $(ssh-agent -s),需要使用命令start-ssh-agent.cmd来启动 ssh-agent,ssh-add ~/.ssh/id_rsa命令的使用方法一致

  3. 检查SSH公钥是否正确添加到GitHub

    确保你已将正确的公钥添加到 GitHub 帐户中。再去 GitHub 设置里查看:

    • 登录 GitHub。
    • 进入 Settings > SSH and GPG keys
    • 确保你看到的公钥是你刚生成或使用的那把。
  4. 确认使用的GitHub邮箱

    确保你的 GitHub 帐号与用来生成 SSH 密钥时使用的电子邮件匹配。不同的 SSH 密钥对应不同的 GitHub 帐号。

  5. 编辑SSH配置(可选)

    如果你的公钥的文件名不是 id_rsa,你可能需要在 ~/.ssh/config 文件中配置它。创建或编辑 ~/.ssh/config 文件,添加如下内容:

    bash 复制代码
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519  # 或者你的私钥的名称

    保存并关闭文件。

  6. 更改文件权限

    确保 .ssh 目录和密钥文件的权限正确。可以通过以下命令查看并修改权限:

    bash 复制代码
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_rsa  # 或者你的私钥文件名
  7. 测试SSH连接

    完成上述步骤后,再次测试 SSH 连接:

    bash 复制代码
    ssh -T git@github.com

其他调试步骤:

  • 终端输出更多调试信息
    使用没那么简约的方式来获得更多、详细的信息:

    bash 复制代码
    ssh -vT git@github.com

    这会显示关于连接过程的所有详细信息,有助于分析出错原因。

注意事项

  • 每次修改密钥都需要重新添加到 ssh-agent。
  • 确保不会公开你的私钥(如 id_rsa),只需分享公钥(id_rsa.pub)。
相关推荐
张洛闻Eren13 分钟前
云原生k8s【第五课】:资源配额与限制
运维·数据库·云原生·kubernetes·k8s·github
sukalot14 分钟前
windows 驱动实例分析系列: wireguard-nt驱动分析-api篇(二)
windows
MNLoser28 分钟前
AI agent开发——LangGraph接入持久化
linux·人工智能·windows·python
智塑未来36 分钟前
企业服务器托管怎么选?多维评测标准与主流方案选型指南
服务器·git·github
小桥流水---人工智能1 小时前
Windows下RTX 5070安装PyTorch GPU完整教程:Python 3.11 + PyTorch 2.8.0 + CUDA 12.9
pytorch·windows·python3.11
徐小夕10 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
爱学习的小白柏13 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
第一程序员14 小时前
AI 辅助编程的 7 个误区:把模型当高级搜索引擎是对它的最大浪费
python·rust·github
峰向AI14 小时前
数据分析神 skill:八步流程、一个依赖、零报错陷阱,让 AI 的数字经得起追问
github
何以解忧,唯有..16 小时前
Python 中获取目录操作完全指南
windows·python·microsoft