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

相关推荐
池央10 小时前
CANN 算子生态的深度演进:稀疏计算支持与 PyPTO 范式的抽象层级
运维·人工智能·信号处理
OJAC11110 小时前
当所有人都在说“运维稳了”,近屿智能看到了另一种可能
运维
人鱼传说10 小时前
docker desktop是一个好东西
运维·docker·容器
阿梦Anmory11 小时前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
呉師傅11 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
heartbeat..11 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
小Tomkk11 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊11 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
消失的旧时光-194312 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑12 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法