偶然間,想多建一個博客,但電腦已經有一個博客了,怎么設置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.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_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 密鑰沖突。