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

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

偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置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.comHostname github.comUser gitIdentityFile C:/Users/你的用户名/.ssh/id_rsa_blog1IdentitiesOnly yes# 博客 2 配置
    Host blog2.github.comHostname github.comUser gitIdentityFile C:/Users/你的用户名/.ssh/id_rsa_blog2IdentitiesOnly 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 密钥冲突。

相关文章:

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

偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置ssh才不会互相影响呢? 在 Windows 系统上设置多个 Hexo 博客的 SSH 配置,避免互相影响,通常户就需要为每个博客配置不同的 SSH 密钥,并…...

顶层架构 - 消息集群推送方案

一、推送基础概念简述 在即时通讯(IM)系统中,最基础的一件事就是“如何把消息推送给用户”。为了实现这个过程,我们要先了解两种常见的网络通信方式:HTTP 和 WebSocket。 1. HTTP 是什么? HTTP 就像一次性…...

Python训练打卡Day26

函数专题1:函数定义与参数 知识点回顾: 函数的定义变量作用域:局部变量和全局变量函数的参数类型:位置参数、默认参数、不定参数传递参数的手段:关键词参数传递参数的顺序:同时出现三种参数类型时 到目前为…...

构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践

一、建造者模式的本质与核心价值 在面向对象的软件设计中,创建复杂对象一直是一个需要精心处理的问题。当一个对象的构建需要多个步骤,并且这些步骤具有不同的组合方式时,传统的构造函数方式会显得力不从心。建造者模式(Builder …...

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

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

(8)python开发经验

文章目录 1 下载python2 pip安装依赖无法访问3 系统支持4 下载python文档5 设置虚拟环境6 编译安装python 更多精彩内容👉内容导航 👈👉Qt开发 👈👉python开发 👈 1 下载python 下载地址尽量不要下载最新版…...

0x08.Redis 支持事务吗?如何实现?

回答重点 Redis 支持事务,但它的事务与 MySQL 等关系型数据库的事务有着本质区别。MySQL 中的事务严格遵循 ACID 特性,而 Redis 中的事务主要保证的是命令执行的原子性和隔离性,即所有命令在一个不可分割的操作中顺序执行,不会被其他客户端的命令请求所打断。 最关键的区…...

win32相关(字符编码)

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

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

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

VSCode + Cline AI辅助编程完全指南

VSCode Cline AI辅助编程完全指南 在当今AI快速发展的时代,程序员可以通过AI工具极大地提高工作效率。本教程将详细介绍如何使用VSCode结合Cline(Claude AI助手)进行AI辅助编程,帮助你提高开发效率,解决复杂问题。 …...

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)…...

融智学视域下的系统性认知增强框架——基于文理工三类AI助理赋能HI四阶跃迁路径

融智学视域下的系统性认知增强框架 ——基于文理工三类AI助理赋能HI四阶跃迁路径 一、如何排除50个认知偏差:消除50类偏差的精准矫正系统 1. 技术架构 文科AI: 构建文化语义场(Cultural Semantic Field, CSF),通过…...

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

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

使用 Vue Tour 封装一个统一的页面引导组件

项目开发过程中需要实现用户引导功能,经过调研发现一个好用的 Vue 插件 vue-tour,今天就来分享一下我是如何基于 vue-tour 封装一个统一的引导组件,方便后续在多个页面复用的。 📦 第一步:安装 vue-tour 插件 首先安装…...

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框架(如…...

2025年01月10日浙江鑫越系统科技前端面试

目录 vue2 和 vue3 的区别vue 怎么封装组件js 怎么把一个数组置空怎么组件自己调用自己的组件v-bind:attribute 和 v-bind“{attribute}” 的区别var let const 的区别this 指向作用域链闭包原型链事件循环 1. vue2 和 vue3 的区别 Vue 2 和 Vue 3 在多个方面存在区别&#…...

JavaScript【5】DOM模型

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

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

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

鸿蒙OSUniApp 实现的表单验证与提交功能#三方框架 #Uniapp

UniApp 实现的表单验证与提交功能 前言 在移动端应用开发中,表单是用户与应用交互的重要媒介。一个好的表单不仅布局合理、使用方便,还应该具备完善的验证与提交功能,以确保用户输入的数据准确无误。本文将分享如何在 UniApp 中实现表单验证…...

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

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

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

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

Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接

Oracle 11.2.0.4 pre PSU Oct18 设置SSL连接 1 说明2 客户端配置jdk环境3服务器检查oracle数据库补丁4设置ssla 服务器配置walletb 上传测试脚本和配置文件到客户端c 服务器修改数据库侦听和sqlnet.orad 修改客户端的sqlnet.ora和tnsnames.ora的连接符e 修改java代码的数据连接…...

服务器连接多客户端

一、epoll 核心函数详解 1. epoll_create/epoll_create1 - 创建 epoll 实例 c #include <sys/epoll.h> int epoll_create(int size); // Linux 2.6.8前需指定size&#xff08;>1&#xff09;&#xff0c;后续版本可忽略 int epoll_create1(int flags); // 推荐使用…...

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

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