Git怎么生成SSH密钥_Git如何配置免密码连接GitHub【教程】

星婷君_1530

星婷君_1530

2026-03-25

689人浏览

原创

推荐使用 ssh-keygen -t ed25519 -c "your_email@example.com" 生成 github 兼容密钥;若用 rsa,须指定 -b 4096;密钥默认存于 ~/.ssh/id_ed25519,避免覆盖;务必设密码保护私钥;ssh-add 报错需先启动 ssh-agent 并检查 ssh_auth_sock 环境变量。

git怎么生成ssh密钥_git如何配置免密码连接github【教程】

怎么用 ssh-keygen 生成兼容 GitHub 的密钥

GitHub 只接受 ed25519 或带 -b 4096 的 rsa 密钥,老式默认 ssh-keygen(如 macOS 12 以前或旧 Linux)会生成弱强度的 2048 位 RSA,直接被 GitHub 拒绝。

  • 强制指定算法和长度:ssh-keygen -t ed25519 -C "your_email@example.com"(推荐)
  • 如果必须用 RSA:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 密钥默认存到 ~/.ssh/id_ed25519,别手抖输错路径;如果已存在同名文件,ssh-keygen 不会覆盖,而是报错“already exists”,得手动删或换名
  • 密码(passphrase)可为空,但不建议——空密码 = 私钥文件一旦泄露,立刻等同于账号沦陷

为什么 ssh-add 报错 “Could not open a connection to your authentication agent”

这不是密钥问题,是 ssh-agent 根本没运行。macOS 和新版 Windows WSL2 默认启动它,但很多 Linux 发行版(尤其最小化安装)或终端复用场景(如 tmux、screen)里它是关闭的。

  • 先检查:ssh-add -l,若报错就说明 agent 没起来
  • 启动并注入密钥:eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
  • 想开机自动加载?别往 ~/.bashrc 直接写 ssh-agent 启动命令——它会每次新开终端都起一个新进程,导致 agent 堆积;应加判断:if [ -z "$SSH_AUTH_SOCK" ]; then eval "$(ssh-agent -s)"; fi

GitHub 上添加公钥后仍提示 Permission denied (publickey)

常见原因是 SSH URL 写错、Git 配置没切到 SSH 模式,或者 GitHub 账号绑错了邮箱。

Github Auto
Github Auto

管PR、盯Issue、跑CI、发Release——GitHub仓库日常运维扔给它。少开几个Chrome标签页。

下载
  • 确认远程地址是 SSH 格式:git remote set-url origin git@github.com:username/repo.git,不是 https://...
  • 测试连接:ssh -T git@github.com,成功返回 “Hi username! You've successfully authenticated…” 才算通
  • 如果返回 “Hi other_user!”,说明你本地 ~/.ssh/id_*.pub 对应的私钥,绑的是另一个 GitHub 账号——GitHub 不认邮箱,只认公钥指纹,一个公钥只能绑一个账号
  • 多个账号需配置 ~/.ssh/config,例如区分 github.com 和 github-work.com,否则所有请求都走默认密钥

Windows 用户用 Git Bash 连不上?重点查 OpenSSH 版本和路径

Git for Windows 自带的 ssh 和系统 OpenSSH(PowerShell 里的)可能冲突,且旧版 Git Bash(ed25519。

  • 在 Git Bash 中运行:ssh -V,输出含 OpenSSH_8.0p1 或更高才安全;低于此版本请升级 Git for Windows
  • 确保用的是 Git Bash 自带的 ssh,不是 Windows 系统 PATH 里的:which ssh 应返回 /usr/bin/ssh,而非 /c/Windows/System32/OpenSSH/ssh.exe
  • 私钥路径不能含中文或空格,ssh-add 会静默失败;~/.ssh/id_ed25519 最稳

最常被忽略的点:GitHub 不验证邮箱真实性,只靠公钥绑定账号。你用 A 邮箱生成密钥、却把公钥贴到 B 邮箱的 GitHub 账户上,ssh -T 仍会成功,但 push/pull 操作会因权限不足被拒绝——错误信息是 “Permission denied (publickey)”,而不是 “account not found”。这时候得去 GitHub Settings → SSH and GPG keys 页面,核对公钥指纹是否匹配本地 ssh-keygen -lf ~/.ssh/id_ed25519 输出的 SHA256 值。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

git github

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5607

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2428

6

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8485

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

858

19

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6119

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1780

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1054

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3977

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3721

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习