Git Push 失败?手把手教你配置 SSH Key,实现无痛推送代码
你是否还在为github无法执行git push而苦恼,就算输入了用户密码,仍然显示,将你打回原型,今天给大家分享一些基本操作,如何生成配置SSH key,让自己的服务器可以无痛推送代码。
前言
你是否还在为github无法执行git push而苦恼,就算输入了用户密码,仍然显示Error in the HTTP2 framing layer,将你打回原型,今天给大家分享一些基本操作,如何生成配置SSH key,让自己的服务器可以无痛推送代码
动手解决
### 第一步:在服务器上生成 SSH 密钥
复制并执行这条命令:
ssh-keygen -t ed25519 -C "871772700@qq.com"
显然,邮箱要替换成你自己的邮箱,这是一个注释信息,你的这个邮箱会作为公钥的一部分以明文的方式放到公钥里,所以如果你这里以服务器的用户名加ip命名,将是非常不安全的,社区里一般提倡“用户@邮箱” 这种,你看你喜欢,我这里直接放邮箱了。
执行过程中的提示和你的操作
提示 1:保存位置
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519):
你的操作: 直接按 回车(使用默认路径)
提示 2:设置密码短语(可选)
Enter passphrase (empty for no passphrase):
你的选择:
选项 A:不设置密码(推荐用于服务器自动化部署)
- 直接按 回车
- 优点:推送代码时不需要输入密码
- 缺点:如果服务器被入侵,私钥可直接使用
选项 B:设置密码(推荐用于个人电脑)
- 输入一个密码(比如:
MySecurePassword123) - 按 回车
- 优点:即使私钥泄露,没有密码也无法使用
- 缺点:每次 git push 都需要输入密码
我的建议: 服务器上用于自动化部署的话,直接回车不设密码
提示 3:确认密码
Enter same passphrase again:
你的操作:
- 如果上一步设了密码,再输入一次
- 如果上一步直接回车,这里也直接 回车
成功提示
如图所示

🎉 看到这个就说明成功了!
第二步:查看并复制公钥
执行这条命令:
cat ~/.ssh/id_ed25519.pub
预期输出(示例):
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl 871772700@qq.com

📋 复制整行内容!
- 从
ssh-ed25519开始 - 到
871772700@qq.com结束 - 全部选中并复制
第三步:在 GitHub 添加公钥

1. 打开浏览器,访问:
https://github.com/settings/keys
或者手动导航:
- 登录 GitHub
- 点击右上角头像 → Settings
- 左侧菜单 → SSH and GPG keys
2. 点击绿色按钮 “New SSH key”
3. 填写表单:
Title(标题): 给这个密钥起个名字,比如:
BDCA2095
或者
阿里云生产服务器
Key type(密钥类型): 选择
Authentication Key
Key(密钥): 粘贴你刚才复制的公钥
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... 871772700@qq.com
4. 点击 “Add SSH key” 按钮
GitHub 可能会要求你输入账户密码确认
第四步:回到服务器测试连接
执行这条命令:
ssh -T git@github.com
第一次连接的提示:
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key fingerprint is: SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
你的操作: 输入 yes 然后按 回车
成功的输出:
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.
比如下面这种:

🎉 看到 “You’ve successfully authenticated” 就成功了!
第五步:配置 Git(如果还没配置)
按照git的使用说明正常使用即可
我们可以看到这里已经成功推送到了我的github仓库
Have fun!
后记
当你自己尝试配置了以后,理解了这个流程以后,其实你后续就可以交给 AI 来给你配置了。考虑保存下面这一个 prompt 到你的输入法里(自定义短语功能),后续你要配置的时候,在你的codex,或者CC里面直接给这个提示词,再手动贴到github就可以了。
提示词在这里
# Task
请帮我在当前服务器环境中生成一个用于 GitHub 的 SSH Key,并直接返回公钥内容。
# Execution Steps
1. 运行生成密钥命令(使用 ed25519 算法,不设密码):
ssh-keygen -t ed25519 -C "871772700@qq.com" -N "" -f ~/.ssh/id_ed25519
2. 读取并显示生成的公钥:
cat ~/.ssh/id_ed25519.pub
# Output Format
请严格仅输出 `cat` 命令读取到的那一行公钥字符串(以 ssh-ed25519 开头,以 871772700@qq.com 结尾)。不要包含任何多余的问候、解释、代码块标记或 Markdown 格式。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)