返回顶部
分享到

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

相关技巧 来源:互联网 作者:佚名 发布时间:2025-06-16 17:45:39 人浏览
摘要

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

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

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

一、检查是否已有 SSH 密钥

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

1

ls -al ~/.ssh

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

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

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

二、生成新的 SSH 密钥对

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

1

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

macOS

打开 终端(Terminal)。

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

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

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

添加到钥匙串(推荐)

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

1

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

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

Windows

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

1.打开 Git Bash 或 PowerShell。

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

1

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

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

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

使用 SSH Agent

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

1

2

3

4

5

# 启动 SSH Agent

eval $(ssh-agent -s)

 

# 添加私钥

ssh-add ~/.ssh/id_rsa

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

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

Linux

1.打开 终端(Terminal)。

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

1

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

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

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

自动加载 SSH 密钥(可选)

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

1

2

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/id_rsa

然后重新加载配置:

1

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

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

1.查看公钥内容:

1

cat ~/.ssh/id_rsa.pub

复制输出内容。

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

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

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

四、测试 SSH 连接

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

1

ssh -T git@github.com

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

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

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

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

1. 生成额外的密钥对

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

1

ssh-keygen -t rsa -b 4096 -C "work_email@example.com" -f ~/.ssh/id_rsa_work

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

1

nano ~/.ssh/config

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

1

2

3

4

5

6

7

8

9

10

11

# 默认账号

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. 测试不同账户

使用别名来测试:

1

ssh -T git@github-work

六、常见问题与解决方法

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

  • 检查 SSH 配置是否正确。
  • 确保公钥已添加到 Git 平台。
  • 使用 ssh -v git@github.com 查看详细错误日志。

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

1

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

如何切换默认密钥?

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

七、结语

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Git配置SSH密钥与私钥的教程(跨平台完整指南)
    在使用 Git 进行版本控制时,SSH 是一种安全、高效的认证方式。通过配置 SSH 密钥对(公钥和私钥),我们可以免去每次操作远程仓库时输入
  • git stash命令基本用法介绍
    git stash是 Git 中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还
  • 如何快速解决连接git/github失败的问题

    如何快速解决连接git/github失败的问题
    Git连接出错 完成基础配置后,始终不能进行git push/git clone,ping github.com 总是显示往 127.0.0.1 发送测试包 镜像法 关于解决git clone问题可以直
  • git进阶之hooks勾子脚本介绍
    Git Hooks是Git的一个重要特性,它允许用户在Git仓库中定义一些自动化的脚本,这些脚本可以在特定的Git事件(如提交代码、接收代码等)发
  • git如何查看提交行数、删除行数
    统计指定用户提交代码情况 1 git log --author=你的名字 --pretty=tformat: --numstat | awk { add += $1; subs += $2; loc += $1 - $2 } END { printf added lines: %s, remove
  • GitLab文件的上传与下载方式
    GitLab 项目拉取到本地 1 2 3 4 5 6 # 拉取git项目到本地 -b参数为选择拉取的特定分支 git clone -b dev http://gitlab.yuan.cn/AI_PRODUCT/deplibs_v4.0/chat.git #
  • DDoS攻击多种方式的原理分析和防护方法

    DDoS攻击多种方式的原理分析和防护方法
    DDoS攻击通过多主机发起海量请求,导致服务器过载,影响服务,攻击方式包括僵尸网络、漏洞利用等,分为SYN flood、ACK flood、UDP flood、反射放大、
  • Git可视化管理工具(SourceTree)使用操作

    Git可视化管理工具(SourceTree)使用操作
    俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的。目前市面上比较流行的Git可视化管理工具有Sour
  • 在VS Code中配置Git的完整步骤记录

    在VS Code中配置Git的完整步骤记录
    当你在 Windows 系统中安装了 Git,但仍然提示 安装后,请重新加载(或执行故障排除)。可以从商城安装其他源代码管理提供程序。 通常是VS
  • Jenkins git克隆代码超时问题的解决方案

    Jenkins git克隆代码超时问题的解决方案
    一、问题描述 在使用 Jenkins 首次进行服务部署的时候,如果我们项目的.git文件夹太大,可能会导致git clone失败。 在 Jenkins 构建时,如果没
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计