【工具教程系列】--如何配置github的ssh

GitHub SSH 配置与代码上传指南

本教程涵盖了从生成 SSH 密钥、配置 GitHub 到最终推送代码的全过程。

一、 检查与生成 SSH 密钥

首先检查本地是否已经存在密钥,若无则重新生成。

  1. 检查现有密钥
    在终端(PowerShell 或 Git Bash)输入:

    bash 复制代码
    ls ~/.ssh

如果看到 id_ed25519 或 id_rsa 相关文件,说明已有密钥。

生成新密钥(如无密钥):Bashssh-keygen -t ed25519 -C "你的邮箱@example.com"

提示保存路径:直接按 回车。提示输入密码(passphrase):可以选择直接按回车或自行设置密码。

二、 将公钥添加到 GitHub获取公钥内容:

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

注意:复制以 ssh-ed25519 开头的那一长串完整字符。

GitHub 网页操作:登录 GitHub,点击右上角头像 -> Settings。左侧导航栏选择 SSH and GPG keys。

点击 New SSH key。

Title:起个名字(如 My_Windows_PC)。

Key:粘贴刚才复制的内容。点击 Add SSH key 保存。

验证连接:

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

看到 The authenticity of host... can't be established 时,输入 yes 并回车。看到 Hi [你的用户名]! You've successfully authenticated... 表示配置成功。

三、 本地代码上传流程

如果你是第一次将本地代码文件夹推送到 GitHub:设置 Git 用户身份(每个电脑仅需执行一次):

bash 复制代码
git config --global user.email "你的邮箱@example.com"
git config --global user.name "你的用户名"

初始化并关联仓库:

进入你的项目文件夹

bash 复制代码
cd 你的文件夹路径

初始化 Git

bash 复制代码
git init

关联远程仓库 (使用 SSH 地址而非 HTTPS)

bash 复制代码
git remote add origin git@github.com:用户名/仓库名.git

提交并推送代码:

bash 复制代码
添加所有文件
git add .

提交到本地仓库

bash 复制代码
git commit -m "Initial commit"

确保分支名为 main

bash 复制代码
git branch -M main

推送到 GitHub

bash 复制代码
git push -u origin main

四、 常见问题排查现象解决方法

Permission denied (publickey):检查 GitHub 上的公钥是否与本地 ~/.ssh 下的私钥匹配。

fatal: remote origin already exists先运行 git remote rm origin 删掉旧的地址,再重新 add。

Push 依然要求输入密码检查 git remote -v。如果是 https:// 开头,请用 git remote set-url origin git@github.com... 改为 SSH 地址。

相关推荐
AZ996ZA24 分钟前
自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要
linux·运维·安全·性能优化
一体化运维管理平台2 小时前
DevOps落地利器:美信监控易如何打通开发与运维?
运维
宴之敖者、2 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei2 小时前
LINUX错误提示函数
linux·运维·服务器
心理之旅2 小时前
高校文献检索系统
运维·服务器·容器
The Chosen One9853 小时前
【Linux】深入理解Linux进程(一):PCB结构、Fork创建与状态切换详解
linux·运维·服务器
极智-9963 小时前
GitHub 热榜项目-日榜精选(2026-02-02)| AI智能体、终端工具、视频生成等 | openclaw、99、Maestro等
人工智能·github·视频生成·终端工具·ai智能体·电子书管理·rust工具
大佐不会说日语~3 小时前
使用Docker Compose 部署时网络冲突问题排查与解决
运维·网络·spring boot·docker·容器
2501_927773074 小时前
uboot挂载
linux·运维·服务器
Tim风声(网络工程师)5 小时前
防火墙-长链接、介绍作用
运维·服务器·网络