当前位置: 首页 > news >正文

项目上传github——SSH连接配置文档

1. 检查是否已有 SSH 密钥

打开终端,检查是否已经存在 SSH 密钥对:

ls ~/.ssh

如果你看到类似 id_rsaid_rsa.pub 的文件,说明你已经有 SSH 密钥。否则,继续下一步。

2. 生成 SSH 密钥

如果你没有 SSH 密钥,使用以下命令生成一个新的密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

其中,将 "your_email@example.com" 替换为你在 GitHub 上注册的电子邮件地址。

  • 文件保存位置:按提示Enter,选择默认保存路径(~/.ssh/id_rsa)。

  • 设置密码:你可以选择设置一个密码来保护密钥,或者直接按 Enter 跳过。

3. 添加 SSH 密钥到 SSH agent

接下来,确保 SSH agent 正在运行并将密钥添加到 agent 中:

eval "$(ssh-agent -s)"

然后,使用以下命令将 SSH 私钥添加到 agent:

ssh-add ~/.ssh/id_rsa

4. 将公钥添加到 GitHub

  1. 打开公钥文件并复制其内容:

    cat ~/.ssh/id_rsa.pub
    
  2. 登录到 GitHub。

  3. 点击右上角的头像,选择 Settings

  4. 在左侧菜单中选择 SSH and GPG keys

  5. 点击 New SSH key

  6. Title 字段中输入一个标识性名称(例如:"My Laptop"),将步骤 3 中复制的公钥粘贴到 Key 字段。

  7. 点击 Add SSH key

5. 测试 SSH 连接

确认 SSH 配置是否正确,运行以下命令:

ssh -T git@github.com

如果配置成功,输出会类似于:

Hi <your-username>! You've successfully authenticated, but GitHub does not provide shell access.

6. 设置 Git 远程仓库使用 SSH

如果你的 Git 仓库当前使用 HTTPS,可以将其切换为 SSH:

  1. 检查当前远程仓库的 URL:

    git remote -v
    

    输出可能是:

    origin  https:*****.git (fetch)
    origin  https:*****.git (push)
    
  2. 将远程仓库的 URL 更改为 SSH:

    git remote set-url origin  ****.git
    
  3. 再次推送代码:

    git push origin main
    

7. 故障排除

  • 检查防火墙或代理:某些网络环境可能会阻止 SSH 连接。确保没有防火墙或代理干扰 SSH 连接。

  • 查看日志信息:如果问题仍然存在,使用以下命令获取详细日志:

    GIT_SSH_COMMAND="ssh -v" git push origin main
    

额外提示

  • 更新 GitHub 密钥:如果你更换了设备或更改了 SSH 密钥,记得在 GitHub 的 SSH and GPG keys 部分更新或删除旧的公钥。

  • 使用多个密钥:如果你在多个设备或项目中使用不同的 SSH 密钥,可以为每个密钥配置不同的 Title,并确保 SSH agent 正确加载所需的密钥。

相关文章:

  • 无参数读文件RCE
  • STRUCTBERT:将语言结构融入预训练以提升深度语言理解
  • AWS Aurora存算分离架构
  • Java可变参数:灵活的函数调用方式
  • 前端Material-UI面试题及参考答案
  • 洛谷题单1-P1001 A+B Problem-python-流程图重构
  • 初识 spring ai 之rag、mcp、tools calling使用
  • 存储效能驱动业务价值:星飞全闪关键业务场景性能实测报告
  • 解释 Webpack 中的模块打包机制,如何配置 Webpack 进行项目构建?
  • 调用deepseek大模型时智能嵌入函数
  • 使用 Spring AI Aliabab Module RAG 构建 Web Search 应用
  • 中药材图像分类,解锁小样本高精度建模秘籍-MATLAB赋能科研:基于AlexNet的迁移学习
  • 力扣hot100——最长连续序列(哈希unordered_set)
  • 力扣 第 153 场双周赛 讲题
  • 【redis】集群 数据分片算法:哈希求余、一致性哈希、哈希槽分区算法
  • 通过万能SPI设备驱动spidev.c来操作挂接在SPI总线上的SPI设备(DAC模块)【spidev.c代码详解、SPI控制器及SPI设备的设备树语句解析】
  • 工具——(常用的软件)视频编辑器
  • UE5学习笔记 FPS游戏制作31 显示计分板
  • Qt进阶开发:对象树与拥有权
  • 26考研——排序_插入排序(8)
  • 东莞市官网网站建设公司/海外短视频跨境电商平台是真的吗
  • 用织梦做的网站怎么管理系统/bing搜索 国内版
  • 百度网站提交地址/seo问答
  • 为诈骗团伙做网站/网页游戏
  • 如何制作一部动漫/广州网站优化费用
  • 住房和城乡建设部网站监理工程师/手机网页设计制作网站