Git 配置 SSH 密钥与私钥教程(跨平台完整指南)

Git 配置 SSH 密钥与私钥教程(跨平台完整指南)

前言

在使用 Git 进行版本控制时,SSH 是一种安全、高效的认证方式。通过配置 SSH 密钥对(公钥和私钥),我们可以免去每次操作远程仓库时输入用户名和密码的麻烦。

本文将详细介绍如何生成 SSH 密钥对,并将其配置到 Git 和 GitHub(或其他平台)中。内容涵盖 macOSWindowsLinux 三大主流操作系统平台,帮助你完成完整的 SSH 密钥配置流程。


目录

  1. 一、检查是否已有 SSH 密钥
  2. 二、生成新的 SSH 密钥对
  3. 三、将公钥添加到 Git 平台(如 GitHub、Gitee 等)
  4. 四、测试 SSH 连接
  5. 五、配置多个 SSH 账户(可选)
  6. 六、常见问题与解决方法
  7. 七、结语

一、检查是否已有 SSH 密钥

在开始之前,先检查本地是否已经存在 SSH 密钥对:

ls-al ~/.ssh 

如果你看到如下文件,则说明已经有密钥对了:

  • id_rsa(私钥)
  • id_rsa.pub(公钥)

你可以选择继续使用现有密钥,或跳过此步骤并生成新的密钥对。


二、生成新的 SSH 密钥对

无论使用哪种操作系统,我们都可以使用以下命令生成新的 SSH 密钥对:

ssh-keygen -t rsa -b4096-C"[email protected]"

macOS

  1. 打开 终端(Terminal)
  2. 输入上述命令生成密钥对。
  3. 按照提示选择保存路径(默认为 ~/.ssh/id_rsa)。
  4. 设置一个可选的密码来保护你的私钥。
添加到钥匙串(推荐)

为了更方便地管理你的 SSH 私钥,在 macOS 上你可以运行以下命令将私钥添加到钥匙串中:

ssh-add --apple-use-keychain ~/.ssh/id_rsa 

这样可以避免每次使用时都要输入密码。


Windows

建议使用 Git BashPowerShell 来执行命令。

  1. 打开 Git BashPowerShell
  2. 输入以下命令生成密钥对:
ssh-keygen -t rsa -b4096-C"[email protected]"
  1. 按照提示选择保存路径,默认为 C:\Users\<YourUsername>\.ssh\id_rsa
  2. 可选:设置密码以增强安全性。
使用 SSH Agent

为了让 Windows 记住你的 SSH 密钥,你需要启动 SSH Agent 并添加你的私钥:

# 启动 SSH Agenteval$(ssh-agent -s)# 添加私钥 ssh-add ~/.ssh/id_rsa 
💡 如果你使用的是 Windows 10/11,也可以启用 OpenSSH 客户端:

控制面板 > 程序 > 启用或关闭 Windows 功能 > OpenSSH 客户端

Linux

  1. 打开 终端(Terminal)
  2. 输入以下命令生成密钥对:
ssh-keygen -t rsa -b4096-C"[email protected]"
  1. 按照提示选择保存路径(默认为 ~/.ssh/id_rsa)。
  2. 设置一个可选的密码来保护你的私钥。
自动加载 SSH 密钥(可选)

为了不每次都手动添加密钥,可以在 ~/.bashrc~/.zshrc 中添加以下内容:

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

然后重新加载配置:

source ~/.bashrc # 或 source ~/.zshrc

三、将公钥添加到 Git 平台(如 GitHub、Gitee 等)

  1. 查看公钥内容:
cat ~/.ssh/id_rsa.pub 

复制输出内容。

  1. 登录你的 Git 平台账户(如 GitHubGitee、GitLab 等)。
  2. 进入 Settings -> SSH and GPG keys(不同平台名称可能略有不同)。
  3. 点击 New SSH key,粘贴刚刚复制的内容,填写标题后点击保存。

四、测试 SSH 连接

执行以下命令测试是否能成功连接到 Git 平台(以 GitHub 为例):

ssh-T [email protected] 

如果看到类似如下信息,说明配置成功:

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

五、配置多个 SSH 账户(可选)

如果你有多个 Git 账号(例如工作账号和个人账号),可以通过配置不同的 SSH 密钥实现多账户管理。

1. 生成额外的密钥对

例如生成用于工作的密钥:

ssh-keygen -t rsa -b4096-C"[email protected]"-f ~/.ssh/id_rsa_work 

2. 创建或编辑 SSH 配置文件

nano ~/.ssh/config 

添加如下内容(以 GitHub 为例):

# 默认账号 Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa # 工作账号 Host github-work HostName github.com User git IdentityFile ~/.ssh/id_rsa_work 

3. 测试不同账户

使用别名来测试:

ssh-T git@github-work 

六、常见问题与解决方法

提示“Permission denied (publickey)”怎么办?

  • 检查 SSH 配置是否正确。
  • 确保公钥已添加到 Git 平台。
  • 使用 ssh -v [email protected] 查看详细错误日志。

如何查看当前使用的 SSH 密钥?

ssh-i ~/.ssh/id_rsa.pub -v [email protected] 

如何切换默认密钥?

修改 ~/.ssh/config 文件中的 IdentityFile 指向即可。


七、结语

配置 SSH 密钥不仅提高了 Git 使用的安全性,也极大提升了开发效率。希望这篇博客能够帮助你在 macOSWindowsLinux 上顺利完成 Git 的 SSH 密钥配置,愉快地进行代码协作与版本管理!

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏或分享给更多开发者。


提示:如果你正在使用其他平台(如 GitLab、Bitbucket、Gitee 等),它们的 SSH 配置方式与 GitHub 类似,只需将对应的主机名替换即可。

Read more

Github如何上传项目(超详细小白教程)

Github如何上传项目(超详细小白教程)

目录 * 一、Github与Git * 二、git的下载安装 * 三、Github的注册 * 四、Github的上传 * 1.GitHub的上传原理 * 2.远程仓库的申请 * 3.本地仓库的关联 * 4.项目的首次上传 * 5.上传时的常见错误 一、Github与Git 1.Git 是一个免费的开源分布式版本控制系统,你可以使用它来跟踪文件中的更改。你可以在 Git 中处理所有类型的项目。使用 Git,你可以将更改添加到代码中,然后在准备好时提交(或保存)它们。这意味着你还可以返回之前所做的更改。开发者常将 Git 与 GitHub 一起使用。 2.GitHub是一个基于git的代码托管平台,在github上可以建立仓库用于存放项目。GitHub 是一个免费的开源系统,所以我们可以在上面找到有用的资料,也可以保存自己做的一些开源项目,以供别人参考,当然GIthub也提供了付费的私人仓库,以供有人需要将一些不公开的项目放入云端仓库,

By Ne0inhk
文心一言开源版测评:能力、易用性与价值的全面解析

文心一言开源版测评:能力、易用性与价值的全面解析

目录 * 一、实测过程记录 * 1. 环境配置详解 * 2. 安装Python环境 * 3. 安装PaddlePaddle(选择CPU版本) * 4. 安装FastDeploy推理引擎 * 5. 下载模型权重及配置文件 * 6. 环境验证脚本 * 7. 常见问题及解决 * 8. 关于GPU加速说明(重要) * 二、模型能力实测:多维度压力测试与代码实战 * 1. 通用理解能力测评(附测试代码) * 1.1 复杂逻辑推理测试 * 1.2 情感极性分析 * 2. 文本生成能力实测 * 风格化写作(带控制参数) * 商业文案生成对比 * 3. 鲁棒性压力测试 * 4. 多模态能力专项测试 * 4.1 图文关联度测评 * 4.2 视觉问答(VQA)实战

By Ne0inhk
VSCode Github Copilot使用OpenAI兼容的自定义模型方法

VSCode Github Copilot使用OpenAI兼容的自定义模型方法

背景 VSCode 1.105.0发布了,但是用户最期待的Copilot功能却没更新!!! (Github Copilot Chat 中使用OpenAI兼容的自定义模型。) 🔥官方也关闭了Issue,并且做了回复,并表示未来也不会更新这个功能: “实际上,这个功能在可预见的未来只面向内部人员开放,作为一种“高级”实验功能。是否实现特定模型提供者的功能,我们交由扩展作者自行决定。仅限内部人员使用可以让我们快速推进,并提供一种可能并非始终百分之百完善,但能够持续改进并快速修复 bug 的体验。如果这个功能对你很重要,我建议切换到内部版本 insider。” 🤗 官方解决方案:安装VSCode扩展支持 你们完全不用担心只需要在 VS Code 中安装扩展:OAI Compatible Provider for Copilot 通过任何兼容 OpenAI 的提供商驱动的 GitHub Copilot Chat,使用前沿开源大模型,如 Kimi K2、DeepSeek

By Ne0inhk

Vscode中配置Claude code的git bash链接问题

解决VS Code中Claude Code的Git Bash链接问题 问题描述 在VS Code中使用Claude Code时出现错误提示: Error: Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win). 确定git已经安装成果,且按照官方建议设置环境变量CLAUDE_CODE_GIT_BASH_PATH仍无效。 解决方案 删除特定环境变量 在Windows环境变量的用户变量部分,检查并删除CLAUDE_CODE_GIT_BASH_PATH变量(如果存在)。 将Git CMD添加到PATH 编辑用户变量中的Path,添加Git的cmd文件夹路径: * 用户级安装路径:%USERPROFILE%\AppData\Local\Programs\Git\cmd * 全局安装路径:C:\Program Files\

By Ne0inhk