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

Written by

in

文章目录
  • 在使用 Git 进行版本控制时,SSH 是一种安全、高效的认证方式。通过配置 SSH 密钥对(公钥和私钥),我们可以免去每次操作远程仓库时输入用户名和密码的麻烦。 本文将详细介绍如何生成 SSH 密钥对,并将其配置到 Git 和 GitHub(或其他平台)中。内容涵盖 macOS、Windows 和 Linux 三大主流操作系统平台,帮助你完成完整的 SSH 密钥配置流程。
  • 在开始之前,先检查本地是否已经存在 SSH 密钥对: ls -al ~/.ssh 如果你看到如下文件,则说明已经有密钥对了: id_rsa(私钥) id_rsa.pub(公钥) 你可以选择继续使用现有密钥,或跳过此步骤并生成新的密钥对。
  • 无论使用哪种操作系统,我们都可以使用以下命令生成新的 SSH 密钥对: ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
  • 1.查看公钥内容: cat ~/.ssh/id_rsa.pub 复制输出内容。 2.登录你的 Git 平台账户(如 GitHub、Gitee、GitLab 等)。 3.进入 Settings -> SSH and GPG keys(不同平台名称可能略有不同)。 4.点击 New SSH key,粘贴刚刚复制的内容,填写标题后点击保存。
  • 执行以下命令测试是否能成功连接到 Git 平台(以 GitHub 为例): ssh -T git@github.com 如果看到类似如下信息,说明配置成功: Hi username! You've successfully authenticated, but GitHub does not provide shell access.
  • 如果你有多个 Git 账号(例如工作账号和个人账号),可以通过配置不同的 SSH 密钥实现多账户管理。
  • 提示“Permission denied (publickey)”怎么办? 检查 SSH 配置是否正确。 确保公钥已添加到 Git 平台。 使用 ssh -v git@github.com 查看详细错误日志。 如何查看当前使用的 SSH 密钥? ssh -i ~/.ssh/id_rsa.pub -v git@github.com 如何切换默认密钥? 修改 ~/.ssh/config 文件中的 IdentityFile 指向即可。
  • 配置 SSH 密钥不仅提高了 Git 使用的安全性,也极大提升了开发效率。希望这篇博客能够帮助你在 macOS、Windows 和 Linux 上顺利完成 Git 的 SSH 密钥配置,愉快地进行代码协作与版本管理! 到此这篇关于Git配置SSH密钥与私钥的教程(跨平台完整指南)的文章就介绍到这了,更多相关Git配置SSH密钥与私钥内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: git 配置多个SSH-Key实现示例 Git远程仓库配置SSH的实现(以github为例) GitHub配置SSH Key的完整步骤 10分钟教你本地配置多个git ssh连接的方法 git中ssh key配置详解 Git ssh 配置及使用方法
  • 目录
    • 前言
    • 一、检查是否已有 SSH 密钥
    • 二、生成新的 SSH 密钥对
      • macOS
      • Windows
      • Linux
    • 三、将公钥添加到 Git 平台(如 GitHub、Gitee 等)
      • 四、测试 SSH 连接
        • 五、配置多个 SSH 账户(可选)
          • 1. 生成额外的密钥对
        • 六、常见问题与解决方法
          • 七、结语

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

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

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

            ls -al ~/.ssh
            

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

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

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

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

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

            打开 终端(Terminal)。

            输入上述命令生成密钥对。

            按照提示选择保存路径(默认为 ~/.ssh/id_rsa)。

            设置一个可选的密码来保护你的私钥。

            添加到钥匙串(推荐)

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

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

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

            建议使用 Git Bash 或 PowerShell 来执行命令。

            1.打开 Git Bash 或 PowerShell。

            2.输入以下命令生成密钥对:

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

            3.按照提示选择保存路径,默认为 C:Users<YourUsername>.sshid_rsa。

            4.可选:设置密码以增强安全性。

            使用 SSH Agent

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

            # 启动 SSH Agent
            eval $(ssh-agent -s)
            
            # 添加私钥
            ssh-add ~/.ssh/id_rsa
            

            如果你使用的是 Windows 10/11,也可以启用 OpenSSH 客户端:

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

            1.打开 终端(Terminal)。

            2.输入以下命令生成密钥对:

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

            3.按照提示选择保存路径(默认为 ~/.ssh/id_rsa)。

            4.设置一个可选的密码来保护你的私钥。

            自动加载 SSH 密钥(可选)

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

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

            然后重新加载配置:

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

            1.查看公钥内容:

            cat ~/.ssh/id_rsa.pub
            

            复制输出内容。

            2.登录你的 Git 平台账户(如 GitHub、Gitee、GitLab 等)。

            3.进入 Settings -> SSH and GPG keys(不同平台名称可能略有不同)。

            4.点击 New SSH key,粘贴刚刚复制的内容,填写标题后点击保存。

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

            ssh -T git@github.com
            

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

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

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

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

            ssh-keygen -t rsa -b 4096 -C "work_email@example.com" -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 git@github.com 查看详细错误日志。

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

            ssh -i ~/.ssh/id_rsa.pub -v git@github.com
            

            如何切换默认密钥?

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

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

            到此这篇关于Git配置SSH密钥与私钥的教程(跨平台完整指南)的文章就介绍到这了,更多相关Git配置SSH密钥与私钥内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

            您可能感兴趣的文章:

            • git 配置多个SSH-Key实现示例
            • Git远程仓库配置SSH的实现(以github为例)
            • GitHub配置SSH Key的完整步骤
            • 10分钟教你本地配置多个git ssh连接的方法
            • git中ssh key配置详解
            • Git ssh 配置及使用方法

            站内搜索