mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1220 字
3 分钟
【GIT】通过SSH建立连接
2026-05-06

您可能会遇到以下情况
fatal: unable to access https://github.com/xxxx/xxx.git/: SSL certificate problem: unable to get local issuer certificate
或者类似的情况,此时,您就需要SSH来帮助建立连接

生成SSH公钥#

公钥可以用来添加到 GitHub、GitLab、Gitee 等平台的 SSH Keys 设置中,之后就可以免密码使用 git clone git@github.com:xxx/xxx.git 的形式拉取代码。

  1. 第一步 打开终端
  • Windows:打开 Git Bash(如果安装 Git 时选择了 Git Bash,没有的话可以安装 Git for Windows 或使用 WSL)
  • macOS:打开 终端(Terminal)
  • Linux:打开常用的终端
  1. 生成密钥

若您需要额外配置保存路径,请跳转到第三步

ssh-keygen -t ed25519 -C "your_email@example.com"

注意:把 your_email@example.com 换成自己的邮箱(比如你注册 GitHub 用的邮箱),这只是个标签,不是必须真实的。
如果你的系统不支持 ed25519(非常少见),则用 RSA 算法

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 设置密钥保存路径
ssh-keygen -t ed25519 -C "your_email@example.com" -f "D:/xxxx/xxxx/id_ed25519"
  • -f 参数:指定私钥的完整路径(公钥会自动生成到同一目录,文件名加 .pub 后缀)。
  • 路径使用正斜杠 /,Git Bash 能识别;也可以使用双反斜杠 \,但推荐正斜杠。

如果系统不支持 ed25519,改用 RSA:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f "D:/xxxx/xxxx/id_rsa"
  1. 设置密码(可选)

系统会提示:

Enter passphrase (empty for no passphrase):
  • 如果你想增加安全性,输入一个密码(输入时不显示),然后回车确认。
  • 如果不想设置密码,直接按回车(留空) 再次输入相同的密码确认(如果上一步留空则直接回车)。
  1. 成功生成

您会看到类似这样的输出:

Your identification has been saved in /c/Users/你的用户名/.ssh/id_ed25519
Your public key has been saved in /c/Users/你的用户名/.ssh/id_ed25519.pub
The key fingerprint is:
...
  1. 查看并复制公钥

方法A:终端直接显示

cat ~/.ssh/id_ed25519.pub

如果用的是 RSA:cat ~/.ssh/id_rsa.pub
它会输出一行以 ssh-ed25519 或 ssh-rsa 开头的文本,复制整行内容。

方法 B:用文本编辑器打开文件

  • 找到生成SSH路径下的.pub文件,打开后复制

您现在复制的内容就是公钥,类似于:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP1q2w3e4r5t6y7u8i9o0p... your_email@example.com
  1. 其他问题
    1. 路径中不要有空格问题:路径包含中文和空格,务必用双引号将整个路径括起来。
    2. Git Bash 与 Windows 路径转换:D:/ 开头是 Git Bash 支持的格式;如果用系统 cmd 执行ssh-keygen,路径应写为 D:\xxx\... 并用双引号括起来。建议全程使用 Git Bash。

注意:私钥(没有 .pub 后缀的那个文件)千万不要泄露给别人。#

将公钥添加到代码托管平台#

教程中使用GitHub作为演示,其它的平台步骤也大差不差

在 GitHub 上添加公钥#

  1. 登录 GitHub 账号。
  2. 点击页面右上角的 个人头像,在下拉菜单中点击 Settings。
  3. 在左侧的边栏菜单里,点击 SSH and GPG keys。
  4. 点击右上角的绿色按钮 New SSH key(或 Add SSH key)。
    1. 在弹出的表单中:
    2. Title(标题):可以输入一个便于识别的名称。
    3. Key type(密钥类型):保持默认的 Authentication Key 即可。
    4. Key(密钥):将从第一步复制的完整 SSH 公钥粘贴到这个文本框中。
    5. 点击 Add SSH key 按钮,有时网站会要求你再次输入 GitHub 密码进行确认。

修改SSH配置文件#

  1. 定位文件:
    1. 目标路径:C:\Users\<你的Windows用户名>\.ssh\config (<你的Windows用户名> 要换成你的账户名)。
    2. 快速定位:在 Git Bash 里输入cd ~/.ssh/并按回车,就能直接定位到 .ssh 文件夹。
    3. 创建文件:如果文件夹里是空的,可以右键新建一个文本文件,然后重命名为 config (注意:没有 .txt 后缀)。
  2. 编辑文件
    1. 用记事本或其他文本编辑器打开 config 文件,在末尾换行后粘贴以下内容:
Host github.com
Hostname ssh.github.com
User git
Port 443
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes

IdentitiesOnly yes 指令的作用是强制 SSH 客户端只使用配置文件(或命令行)中显式指定的密钥进行认证,而忽略 SSH Agent 中加载的其他所有密钥

若您修改了SSH密钥的位置,则把 IdentityFile 后面的路径改成新路径,例如:

IdentityFile "D:/xxxx/xxxx/id_ed2551"

验证连接是否成功#

可以在Bash中简单测试

ssh -T git@github.com

如果配置成功,您会看到一条包含 GitHub 用户名的消息,例如:

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

现在您就可以使用 SSH 方式来操作你的远程仓库了。

git clone git@github.com:用户名/仓库名.git

已有仓库修改为SSH#

若您已经拥有一个仓库,将您的远程仓库地址从 HTTPS 改为 SSH 即可。

查看当前远程仓库地址:

git remote -v

如果看到类似 :

origin https://github.com/xxxx.git (fetch)
origin https://github.com/xxxx.git (push)

修改为 SSH 地址

git remote set-url origin git@github.com:{您的用户名}/{您的仓库名称}.git

验证修改

git remote -v

现在应该显示SSH地址了

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

【GIT】通过SSH建立连接
https://blog.reclock55.top/posts/计算机技术/git通过ssh建立连接/
作者
ReClock55
发布于
2026-05-06
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00