偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置ssh才不会互相影响呢?
在 Windows 系统上设置多个 Hexo 博客的 SSH 配置,避免互相影响,通常户就需要为每个博客配置不同的 SSH 密钥,并在 ~/.ssh/config
文件中进行相应的配置。
1. 生成多个 SSH 密钥
每个博客使用不同的 SSH 密钥进行身份验证,以避免冲突。假设你有两个 Hexo 博客:
- 博客 1(例如
blog1.github.com
) - 博客 2(例如
blog2.github.com
)
步骤:
- 打开 Git Bash 或 PowerShell。
- 生成第一个 SSH 密钥:
按提示操作并输入密码(可选)。ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_blog1
- 生成第二个 SSH 密钥:
同样按提示操作。ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_blog2
2. 添加 SSH 密钥到 GitHub
在生成密钥后,需将公钥添加到 GitHub 上,以便与 GitHub 进行通信。
步骤:
- 登录 GitHub。
- 进入 Settings > SSH and GPG keys。
- 点击 New SSH key,输入标题并粘贴每个密钥对的公钥(可以通过
cat ~/.ssh/id_rsa_blog1.pub
查看公钥,类似地查看id_rsa_blog2.pub
)。
3. 配置 ~/.ssh/config
文件
为了让系统知道使用哪个密钥连接哪个博客,你需要在 ~/.ssh/config
中进行配置。
步骤:
-
打开 Git Bash 或 PowerShell。
-
编辑或创建
~/.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_blog1
和id_rsa_blog2
的路径正确。
4. 配置 Hexo 项目 Git URL
在每个 Hexo 项目的 Git 配置中,设置相应的远程 URL,使用刚才配置的 Host
名称。
步骤:
- 在第一个博客项目的根目录下,打开命令行(Git Bash 或 PowerShell),执行以下命令:
git remote set-url origin git@blog1.github.com:用户名/博客1仓库.git
- 在第二个博客项目的根目录下,执行以下命令:
git remote set-url origin git@blog2.github.com:用户名/博客2仓库.git
5. 上传 Hexo 博客
每个博客设置完毕后,你可以正常使用 hexo
命令进行博客上传。
步骤:
- 在第一个博客的目录下,运行以下命令进行部署:
hexo clean hexo generate hexo deploy 或者 hexo clean & hexo d -g
- 在第二个博客的目录下,运行同样的命令:
hexo clean hexo generate hexo deploy 或者 hexo clean & hexo d -g
总结:
- 生成两个不同的 SSH 密钥。
- 将每个公钥添加到 GitHub。
- 配置
~/.ssh/config
文件,以指定不同的 SSH 密钥和 Host。 - 为每个博客项目配置正确的 Git 远程 URL。
- 使用
hexo deploy
命令上传内容。
这样,你就可以在一个系统中同时管理多个 Hexo 博客,并且不会产生 SSH 密钥冲突。