GitHub SSH 快速配置

顾平安發表於2024-05-23

每次更換系統或者電腦時,都需要重新配置一番 Github SSH 的驗證,記性不太好,寫了一個快速部署的輔助指令碼,直接安裝指令碼提示使用即可,經測試,Linux 和 Windows 下均能使用。

指令碼功能

  1. 設定 Git 使用者名稱和郵箱
    指令碼會提示使用者輸入 Git 使用者名稱和郵箱,並將其設定為全域性配置。

  2. 生成新的 SSH 金鑰
    指令碼會自動生成新的 SSH 金鑰對(私鑰和公鑰),用於與 GitHub 建立安全連線。在生成過程中,使用者可以持續按Enter鍵使用預設設定。

  3. 將 SSH 私鑰新增到 ssh-agent
    指令碼會自動將生成的 SSH 私鑰新增到 ssh-agent 中,以便在後續推送或拉取程式碼時無需每次手動輸入金鑰。

  4. 將 SSH 公鑰複製到剪貼簿(可選)
    如果使用者的系統安裝了 xclip 工具,指令碼會嘗試自動將 SSH 公鑰內容複製到剪貼簿,方便使用者在 GitHub 上配置。如果系統未安裝 xclip,指令碼會輸出公鑰內容,提示使用者手動複製。

  5. 提供 GitHub 配置指引
    指令碼會給出在 GitHub 上新增 SSH 公鑰的詳細步驟,引導使用者完成配置。

  6. 測試 SSH 連線
    最後,指令碼會嘗試透過 SSH 連線到 GitHub,驗證配置是否成功。如果連線成功,將輸出相應的提示資訊。

使用方式

  1. 確保您的系統已安裝 Git 和 SSH 相關工具。
  2. 下載或複製該指令碼程式碼,儲存為一個 .sh 檔案,例如 github_ssh.sh
#!/bin/bash

echo "本指令碼用於快速配置Git SSH連線。"

# 設定GitHub的user name和email
echo "請輸入您的Git使用者名稱:"
read git_username
git config --global user.name "$git_username"

echo "請輸入您的Git郵箱:"
read git_email
git config --global user.email "$git_email"

# 生成一個新的SSH金鑰
echo ""
echo "生成新的SSH金鑰..."
echo "接下來的輸入中,你可以持續的回車"
ssh-keygen -t rsa -C "$git_email"

# 獲取SSH金鑰檔案路徑
ssh_key_path=$(echo ~)/.ssh/id_rsa

# 將SSH私鑰新增到 ssh-agent
echo ""
echo "將SSH私鑰新增到ssh-agent..."
eval "$(ssh-agent -s)"
ssh-add "$ssh_key_path"

# 將SSH公鑰新增到GitHub賬戶
echo ""
echo "將SSH公鑰新增到GitHub賬戶..."
ssh_key_pub=$(echo ~)/.ssh/id_rsa.pub
if command -v xclip >/dev/null; then
    echo "複製SSH公鑰內容到剪貼簿..."
    xclip -selection clipboard < "$ssh_key_pub"
else
    echo "無法自動複製SSH公鑰,請手動複製以下內容:"
    cat "$ssh_key_pub"
fi

echo ""
echo "請在 Github 頁面進行配置"
echo "1.請登入GitHub,點選頭像,然後在 Settings 頁面點選左側 SSH and GPG keys,隨後請點選右上角綠色的 New SSH key。"
echo "2.在Title輸入框內,為您的新key取個名字,在Key輸入框內,貼上前面複製好的公鑰內容,您無需修改 Key type 下拉框,直接點選 Add SSH key 按鈕即可。"
echo "完成後按任意鍵繼續..."
read -n 1 -s

# 測試連線
echo ""
echo "測試SSH連線..."
echo "如果提示你需要繼續連線,請輸入yes!"

ssh -T git@github.com

echo ""
echo "如果提示中的使用者名稱是您的,說明SSH key已經配置成功。"
  1. 在終端中,使用 chmod 命令為指令碼新增執行許可權(windows直接下一步):
chmod +x github_ssh.sh
  1. 執行指令碼:
./setup_git_ssh.sh

# windows 下
# 直接在 sh 指令碼所在目錄右鍵點選 Open Git Bash Here
# 終端輸入 bash ./github_ssh.sh
  1. 根據指令碼提示輸入相關資訊,並按照指引在 GitHub 上完成配置。
  2. 配置完成後,您可以使用 SSH 連線克隆或推送程式碼到 GitHub 遠端倉庫。

透過使用該指令碼,您可以快速完成 Git SSH 連線的配置,無需手動執行繁瑣的步驟,從而提高效率和便利性。該指令碼適合初學者或希望快速配置 Git SSH 連線的使用者使用。

相關文章