Automatiser GitHub-konto skift og SSH konfiguration i iTerm - Trin-for-trin guide

Hvordan kan en script automatisere skift af GitHub-konto og genindlæse konfigurationsindstillingerne i den opdaterede ssh config-fil uden at genstarte iTerm?

Automatisering af GitHub-konto skift og genindlæsning af SSH konfiguration i iTerm indebærer oprettelse af separate SSH nøgler for hver konto, tilføjelse af nøglerne til SSH-agenten, opdatering af SSH config-filen, og brug af et shell script til at skifte konto og genindlæse konfigurationen.

Automatisering af GitHub-konto skift og genindlæsning af SSH konfiguration i iTerm

For at automatisere skift af GitHub-konto og genindlæse konfigurationsindstillingerne i den opdaterede SSH config-fil uden at genstarte iTerm, kan du følge disse trin:

  1. Opret SSH nøgler for hver GitHub-konto:
    • Generer en ny SSH nøgle for hver konto ved at bruge kommandoen:
      ssh-keygen -t rsa -b 4096 -C "[email protected]"
    • Navngiv nøglerne forskelligt for at undgå konflikter, f.eks. id_rsa_github_personal og id_rsa_github_work.
  2. Tilføj SSH nøglerne til SSH-agenten:
    • Start SSH-agenten:
      eval "$(ssh-agent -s)"
    • Tilføj nøglerne til agenten:
      ssh-add ~/.ssh/id_rsa_github_personal
      ssh-add ~/.ssh/id_rsa_github_work
  3. Opdater SSH config-filen:
    • Rediger ~/.ssh/config filen for at inkludere de forskellige GitHub-konti:
      
      Host github.com-personal
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_github_personal
      
      Host github.com-work
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_github_work
              
  4. Opret et script til at skifte GitHub-konto og genindlæse SSH konfigurationen:
    • Opret en shell script fil, f.eks. switch_github_account.sh:
      
      #!/bin/bash
      
      # Funktion til at skifte GitHub-konto
      switch_github_account() {
        local account=$1
        ssh-add -D
        ssh-add ~/.ssh/id_rsa_github_$account
        echo "Switched to GitHub account: $account"
      }
      
      # Genindlæs SSH konfigurationen
      reload_ssh_config() {
        ssh -T [email protected]
        echo "SSH configuration reloaded"
      }
      
      # Skift til den ønskede konto og genindlæs konfigurationen
      switch_github_account $1
      reload_ssh_config
              
    • Gør scriptet eksekverbart:
      chmod +x switch_github_account.sh
  5. Kør scriptet i iTerm:
    • For at skifte til din personlige GitHub-konto og genindlæse konfigurationen, kør:
      ./switch_github_account.sh personal
    • For at skifte til din arbejds-GitHub-konto og genindlæse konfigurationen, kør:
      ./switch_github_account.sh work

Ved at følge disse trin kan du nemt skifte mellem forskellige GitHub-konti og genindlæse SSH konfigurationsindstillingerne uden at skulle genstarte iTerm.