Ubuntu 系统下配置 GitHub SSH 环境及代码拉取指南
本指南旨在帮助开发者在 Ubuntu 环境下建立安全、免密的 GitHub 访问通道,并针对新手常遇到的路径丢失、权限报错等问题提供解决方案。
1. 基础信息配置
首先配置 Git 的全局用户信息,这是所有 Git 操作的基础。
bash
# 设置用户名和邮箱
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的注册邮箱"2. 生成 SSH 密钥 (解决“找不到 .ssh 目录”问题)
许多新手在 cd ~/.ssh 时报错“没有那个文件或目录”,是因为 SSH 密钥对尚未生成,系统不会自动创建该目录。
- 执行生成命令:
bash
ssh-keygen -t ed25519 -C "你的注册邮箱"- 交互处理(三次回车):
- 提示
Enter file in which to save the key:直接回车。此时系统会自动创建~/.ssh文件夹。 - 提示
Enter passphrase:直接回车。 - 提示
Enter same passphrase again:直接回车。
- 如何查看隐藏的 .ssh 目录:
- 终端命令:使用
ls -a ~即可看到以.开头的隐藏文件夹。 - 图形界面:在文件夹窗口按
Ctrl + H切换显示隐藏文件。
3. 将公钥托管至 GitHub
- 读取公钥内容:
bash
cat ~/.ssh/id_ed25519.pub注意:必须是 .pub 结尾的文件,这才是可以公开的“锁”,不带后缀的是不能泄露的“钥匙”。
- 网页配置步骤:
- 复制终端输出的整行字符串(以
ssh-ed25519开头)。 - 登录 GitHub ->
Settings->SSH and GPG keys->New SSH key。 - 粘贴并保存。
4. 连通性验证 (确认身份)
在尝试拉取代码前,必须先进行“握手”测试:
bash
ssh -T git@github.com验证结果说明:
情况 A:看到
Hi [用户名]! You've successfully authenticated...结论:恭喜!SSH 通道已彻底打通。
情况 B:看到
Permission denied (publickey)原因:GitHub 不认你的钥匙。请检查 GitHub 上的公钥是否完整,或是否复制错了文件。
情况 C:看到
Are you sure you want to continue connecting (yes/no/[fingerprint])?对策:手动输入
yes并回车。
5. 拉取代码:避开拼写与协议陷阱
配置好 SSH 后,下载链接必须使用 SSH 格式,否则依然会提示输入密码或报错。
5.1 识别链接格式
- ✅ 正确 (SSH):
git@github.com:作者名/仓库名.git - ❌ 错误 (HTTPS):
https://github.com/作者名/仓库名.git
5.2 拼写检查建议
为了避免手动输入错误,建议始终点击 GitHub 仓库页面绿色 Code 按钮下的 复制图标。
6. 进阶排查 (常见报错)
Q: 报错 "Could not read from remote repository"?
- 检查拼写:确认
github.com后面是冒号:而不是斜杠/。 - 检查权限:重新运行
ssh -T git@github.com。如果返回Hi [用户名]但依然报错,说明该仓库可能是私有仓库,且你没有访问权限。
Q: 以前用 HTTPS 下载的代码,现在想改用 SSH?
进入项目目录,运行:
bash
git remote set-url origin git@github.com:用户名/仓库名.git文档版本:v1.1
关键提示:先有 ssh-keygen 命令,后有 .ssh 文件夹。