在 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 的使用,建议参考官方文档或相关教程。

相关推荐
嵌入式×边缘AI:打怪升级日志7 分钟前
全志T113 Tina-SDK 配套工具链开发应用(从Makefile到CMake再到Autotools)
linux
嵌入式×边缘AI:打怪升级日志12 分钟前
全志T113嵌入式Linux开发环境搭建(VMware + Ubuntu 18.04)详细步骤
linux·ubuntu
云栖梦泽1 小时前
Linux内核与驱动:14.SPI子系统
linux·运维·服务器·c++
福大大架构师每日一题1 小时前
openclaw v2026.4.24 发布:Google Meet 深度集成、DeepSeek V4 上线、浏览器自动化与插件架构全面升级
运维·架构·自动化·openclaw
ModestCoder_1 小时前
本地配置github登录与远程clone
github
星驰云1 小时前
LLS OAI 项目级会话记录模式 — 为 GitHub Copilot Chat 打造的智能日志助手:一键生成工作日志,告别繁琐汇报
github·copilot
yipiantian1 小时前
在Claude项目中实现跨目录访问Skills
linux·运维·服务器
Agent产品评测局2 小时前
生产排期与MES/ERP系统打通,实操方法详解 —— 2026企业级智能体自动化选型与实战指南
java·运维·人工智能·ai·chatgpt·自动化
cen__y2 小时前
Linux07(信号01)
linux·运维·服务器·c语言·开发语言
MT5开发2 小时前
Linux安装MariaDB
linux·运维·mariadb