【工具教程系列】--如何配置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 地址。

相关推荐
jerryinwuhan3 小时前
《系统部署与运维》开篇 课程介绍
运维
我是谁??5 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
Shell运维手记6 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
朴马丁6 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
码流怪侠7 小时前
StereoCrafter 源码级深度拆解:腾讯如何把 2D 视频“抠“成 3D
github·音视频开发·webvr
Elastic 中国社区官方博客7 小时前
Elasticsearch:使用 AI Agent 来创建 workflow
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·全文检索
测试运维日常笔记8 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
像风一样自由20208 小时前
加强版VScode结合remote-ssh远程连接服务器开发指南
服务器·vscode·ssh
喜欢的名字被抢了9 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
雾时之林9 小时前
Linux----cron定时服务
linux·运维·服务器