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

相关推荐
逛逛GitHub5 小时前
最近爆火的人生K线!GitHub 上有开源,真的太有趣了。
github
饼饼饼5 小时前
从 0 到 1:前端 CI/CD 实战 ( 第一篇: 云服务器环境搭建)
运维·前端·自动化运维
小二·6 小时前
AI工程化实战《五》:私有化部署全栈指南——Qwen/Qwen-VL 本地化落地与生产级运维(万字深度长文)
运维·人工智能
叹了口丶气6 小时前
CentOS 7编译Python3.10时,SystemError: <built-in function compile> returned NULL
linux·运维·centos
2401_865854886 小时前
服务器的windows和Linux系统有什么区别
linux·运维·服务器
IT19956 小时前
MySQL运维笔记-一种数据定期备份的方法
运维·笔记·mysql
海域云-罗鹏6 小时前
企业服务器防黑客攻击:WAF防火墙部署全攻略
运维·服务器
云飞云共享云桌面6 小时前
SolidWorks服务器怎么实现研发软件多人共享、数据安全管理
java·linux·运维·服务器·数据库·自动化
ZeroNews内网穿透6 小时前
EasyNode 结合 ZeroNews,实现远程管理服务器
运维·服务器·网络协议·安全·http