【从设置到上传的全过程】本地多个hexo博客,怎么设置ssh才不会互相影响

news2025/5/18 18:51:20

偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置ssh才不会互相影响呢?

在 Windows 系统上设置多个 Hexo 博客的 SSH 配置,避免互相影响,通常户就需要为每个博客配置不同的 SSH 密钥,并在 ~/.ssh/config 文件中进行相应的配置。

1. 生成多个 SSH 密钥

每个博客使用不同的 SSH 密钥进行身份验证,以避免冲突。假设你有两个 Hexo 博客:

  • 博客 1(例如 blog1.github.com
  • 博客 2(例如 blog2.github.com
步骤:
  1. 打开 Git BashPowerShell
  2. 生成第一个 SSH 密钥:
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_blog1
    
    按提示操作并输入密码(可选)。
  3. 生成第二个 SSH 密钥:
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_blog2
    
    同样按提示操作。

2. 添加 SSH 密钥到 GitHub

在生成密钥后,需将公钥添加到 GitHub 上,以便与 GitHub 进行通信。

步骤:
  1. 登录 GitHub。
  2. 进入 Settings > SSH and GPG keys
  3. 点击 New SSH key,输入标题并粘贴每个密钥对的公钥(可以通过 cat ~/.ssh/id_rsa_blog1.pub 查看公钥,类似地查看 id_rsa_blog2.pub)。

3. 配置 ~/.ssh/config 文件

为了让系统知道使用哪个密钥连接哪个博客,你需要在 ~/.ssh/config 中进行配置。

步骤:
  1. 打开 Git BashPowerShell

  2. 编辑或创建 ~/.ssh/config 文件,使用以下内容:

    # 博客 1 配置
    Host blog1.github.com
      Hostname github.com
      User git
      IdentityFile C:/Users/你的用户名/.ssh/id_rsa_blog1
      IdentitiesOnly yes
    
    # 博客 2 配置
    Host blog2.github.com
      Hostname github.com
      User git
      IdentityFile C:/Users/你的用户名/.ssh/id_rsa_blog2
      IdentitiesOnly yes
    

    记得将 你的用户名 替换为实际的用户名,并确保 id_rsa_blog1id_rsa_blog2 的路径正确。

4. 配置 Hexo 项目 Git URL

在每个 Hexo 项目的 Git 配置中,设置相应的远程 URL,使用刚才配置的 Host 名称。

步骤:
  1. 在第一个博客项目的根目录下,打开命令行(Git Bash 或 PowerShell),执行以下命令:
    git remote set-url origin git@blog1.github.com:用户名/博客1仓库.git
    
  2. 在第二个博客项目的根目录下,执行以下命令:
    git remote set-url origin git@blog2.github.com:用户名/博客2仓库.git
    

5. 上传 Hexo 博客

每个博客设置完毕后,你可以正常使用 hexo 命令进行博客上传。

步骤:
  1. 在第一个博客的目录下,运行以下命令进行部署:
    hexo clean
    hexo generate
    hexo deploy
    或者
    hexo clean & hexo d -g
    
  2. 在第二个博客的目录下,运行同样的命令:
    hexo clean
    hexo generate
    hexo deploy
    或者
    hexo clean & hexo d -g
    

总结:

  1. 生成两个不同的 SSH 密钥。
  2. 将每个公钥添加到 GitHub。
  3. 配置 ~/.ssh/config 文件,以指定不同的 SSH 密钥和 Host。
  4. 为每个博客项目配置正确的 Git 远程 URL。
  5. 使用 hexo deploy 命令上传内容。

这样,你就可以在一个系统中同时管理多个 Hexo 博客,并且不会产生 SSH 密钥冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2378698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

报表控件stimulsoft教程:如何在报表和仪表板中创建热图

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了…

win32相关(字符编码)

字符编码 ASCII编码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最基础的字符编码标准,用于在计算机和其他设备中表示文本 基本概念 7位编码: ASCII使用7位二进制数&#x…

使用Langfuse和RAGAS,搭建高可靠RAG应用

大家好,在人工智能领域,RAG系统融合了检索方法与生成式AI模型,相比纯大语言模型,提升了准确性、减少幻觉且更具可审计性。不过,在实际应用中,当建好RAG系统投入使用时,如何判断接收信息是否正确…

android studio导入项目

如果 gradle-8.0-bin.zip 没有下载成功 可以点击进入这个网站:https://services.gradle.org/distributions/ 找到和自己本版相同的gradle-8.0-bin.zip文件找到自己版本进行下载; 如果下载依赖失败, 可以手动下载依赖编译过程中的jar https://repo.maven.apache.org/…

Autosar Nvm下电存储实现方式-基于ETAS工具

文章目录 前言Autosar Nvm相关定义Nvm Ram Block States状态切换Nvm_WriteAll函数NvBlock配置生成代码分析及使用总结前言 Nvm中存储的数据,一般有两种存储方式,一个是立即存,一个是下电存,之前介绍过立即存的配置,本文介绍下电存的配置及实现 Autosar Nvm相关定义 Nvm…

c# 数据结构 树篇 入门树与二叉树的一切

事先声明,本文不适合对数据结构完全不懂的小白 请至少学会链表再阅读 c# 数据结构 链表篇 有关单链表的一切_c# 链表-CSDN博客 数据结构理论先导:《数据结构(C 语言描述)》也许是全站最良心最通俗易懂最好看的数据结构课(最迟每周五更新~~&am…

Python Bug 修复案例分析:asyncio 事件循环异常引发的程序崩溃 两种修复方法

在 Python 异步编程的工作中,asyncio库为我们提供了高效处理并发任务的强大工具。然而,asyncio在使用过程中也可能因为一些细节处理不当而引发 Bug。下面,我们就来深入分析一个因asyncio事件循环异常导致程序崩溃的典型案例。兴趣的友友可以借…

题单:递归求和

宣布一个重要的事情,我的洛谷有个号叫 题目描述 给一个数组 a:a[0],a[1],...,a[n−1]a:a[0],a[1],...,a[n−1] 请用递归的方式出数组的所有数之和。 提示:递推方程 f(x)f(x−1)a[x]f(x)f(x−1)a[x]; 输入格式 第一行一个正整数 n (n≤100)n (n≤100)…

怎么在excel单元格1-5行中在原来内容前面加上固定一个字?

环境: WPS 2024 问题描述: 怎么在excel单元格1-5行中在原来内容前面加上固定一个字? 解决方案: 1.在Excel中,如果您想在单元格的内容前面添加一个固定的字,可以通过以下几种方法实现: 方法…

OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——mqtt库

准备工作 请依照这篇文章搭建环境 OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——环境配置_openharmony交叉编译-CSDN博客 下载 wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.9.tar.xz 解压 tar -xf mkdir ./out cd ./out Cmake命…

数据结构 -- 顺序查找和折半查找

查找的基本概念 基本概念 查找:在数据集合中寻找满足某种条件的数据元素的过程 查找表(查找结构):用于查找的数据集合称为查找表,它由同一类型的数据结构元素(或记录)组成 关键字&#xff1…

信息收集+初步漏洞打点

目标:理解信息收集在渗透测试中的意义,熟悉常用工具用法,完成基本打点测试 一.理论学习: 模块内容说明信息收集分类主动信息收集 vs 被动信息收集目标发现子域名、IP、端口、子站点、目录、接口技术指纹识别Web框架(如…

JavaScript【5】DOM模型

1.概述: DOM (Document Object Model):当页面被加载时,浏览器会创建页面的文档对象模型,即dom对象;dom对象会被结构化为对象树,如一个HTML文档会被分为head,body等部分,而每个部分又…

Cloudflare防火墙拦截谷歌爬虫|导致收录失败怎么解决?

许多站长发现网站突然从谷歌搜索结果中“消失”,背后很可能是Cloudflare防火墙误拦截了谷歌爬虫(Googlebot),导致搜索引擎无法正常抓取页面。 由于Cloudflare默认的防护规则较为严格,尤其是针对高频访问的爬虫IP&…

如何在 Windows 11 或 10 的 CMD 中检查固件

检查 Windows 11 或 10 中现有设备的硬件固件版本,可以帮助用户安装和更新准确的驱动程序,进行故障排除活动,确保兼容性以及维护系统性能。因此,在本教程中,我们将讨论如何在命令提示符(CMD)中使用一些命令查找 Windows 服务器或桌面中硬件固件版本的方法。由于本教程将…

进阶-数据结构部分:3、常用查找算法

飞书文档https://x509p6c8to.feishu.cn/wiki/LRdnwfhNgihKeXka7DfcGuRPnZt 顺序查找 查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访…

基于QT和FFmpeg实现自己的视频播放器FFMediaPlayer(一)——项目总览

在音视频开发的学习过程中,开发一款视频播放器是FFmpeg进阶的最好实战方法。本文将基于 QT 和 FFmpeg 着手实现自定义视频播放器 FFMediaPlayer,作为系列文章的开篇,我们先来整体了解项目的设计思路、架构与配置。 一、软件设计五大原则​ …

【HCIA】浮动路由

前言 我们通常会在出口路由器配置静态路由去规定流量进入互联网默认应该去往哪里。那么,如果有两个运营商的路由器都能为我们提供上网服务,我们应该如何配置默认路由呢?浮动路由又是怎么一回事呢? 文章目录 前言1. 网络拓扑图2. …

使用instance着色

本节我们学习使用instance着色器进行着色 //拾取var handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);handler.setInputAction(function(movement){console.log(movement);var pickedObject viewer.scene.pick(movement.position);if(Cesium.defined(picke…

【NLP 72、Prompt、Agent、MCP、function calling】

命运把我们带到哪里,就是哪里 —— 25.5.13 一、Prompt 1.User Prompt 用户提示词 当我们与大模型进行对话时,我们向大模型发送的消息,称作User Prompt,也就是用户提示词,一般就是我们提出的问题或者想说的话 但是我们…