在 Linux 系统上连接 GitHub 的方法 (适用2025年)

在2025年,使用 Linux 系统连接 GitHub 的推荐方式是通过 SSH (Secure Shell) 协议进行身份验证。这种方式不仅安全,还能免去每次操作时输入用户名和密码的繁琐。


🛠️ 步骤一:检查并安装 Git

首先,确保你的系统已安装 Git:

bash 复制代码
git --version

如果未安装,使用下面的命令安装 (Debian/Ubuntu 系统):

bash 复制代码
sudo apt update
sudo apt install git

🔑 步骤二:生成 SSH 密钥

生成 SSH 密钥对,用于与 GitHub 进行安全通信:

bash 复制代码
ssh-keygen -t ed25519 -C "your_email@example.com"
  • -t ed25519:指定密钥类型
  • -C:注释信息,通常填入 GitHub 注册邮箱

按回车使用默认路径(~/.ssh/id_ed25519

(这里需要注意一下路径,这个路径会因为个体机器不同而变化。)


📋 步骤三:将 SSH 公钥添加到 GitHub

  1. 查看并复制公钥内容:

    bash 复制代码
    cat ~/.ssh/id_ed25519.pub
  2. 登录 GitHub ,进入 SSH and GPG keys 页面

  3. 点击"New SSH key"

  4. 填写 Title:My Linux Laptop ;Key 填写复制的公钥

  5. 点击"Add SSH key" 完成


🧪 步骤四:测试 SSH 连接

bash 复制代码
ssh -T git@github.com

第一次连接时,系统会提示确认,输入 yes,如果成功,会显示:

bash 复制代码
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

📁 步骤五:克隆仓库或添加远程仓库

克隆仓库:

bash 复制代码
git clone git@github.com:username/repository.git

或者添加远程仓库:

bash 复制代码
git remote add origin git@github.com:username/repository.git

usernamerepository 替换为你的 GitHub 用户名和项目名


✅ 常见问题解答

Q1:如果我已经有了 SSH 密钥,还需要重新生成吗?

A1: 如果已有密钥,且未被其他服务使用,可直接使用:

bash 复制代码
cat ~/.ssh/id_ed25519.pub

Q2:如何在多台设备上使用同一 GitHub 账户?

A2: 每台设备单独生成密钥,将公钥添加到 GitHub ,GitHub 支持多个 SSH 公钥


Q3:如何删除不再使用的 SSH 密钥?

A3: 登录 GitHub,进入 SSH and GPG keys ,点击"Delete" 删除相应密钥


至此,你已经成功在 Linux 系统上配置了 SSH 以连接 GitHub,安全且高效!

如需进一步了解 Git 和 GitHub 的使用,建议参考官方文档或相关教程。

相关推荐
徐小夕19 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
码流怪侠20 小时前
【GitHub】Ponytail:给 AI 编码代理植入“懒人资深开发者“灵魂的开源插件深度拆解
程序员·github·ai编程
齐翊21 小时前
怎么确认 AI 看懂了你的提示词?
人工智能·github·ai编程
Web3探索者21 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
荣--1 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
李小庆1 天前
Sowork AI Agent 编程助手教程 :第一章 Python环境搭建与Sowork项目克隆学习目标
github
江华森1 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
OpenTiny社区2 天前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github