Funkenstrahlen Podcasting, Netzpolitik, App-Entwicklung

Mehrere SSH Keys verwalten.

Ich möchte hier kurz dokumentieren, wie man unter MacOS oder auch unter Linux mehrere SSH-Keys verwalten kann. Das braucht man dann, wenn man beispielsweise mehrere Github Accounts hat oder (wie in meinem Fall) einen Github Account und einen Bitbucket Account. Für beide habe ich einen anderen SSH-Key definiert:

.ssh
├── bitbucket_rsa
├── bitbucket_rsa.pub
├── github_rsa
├── github_rsa.pub
├── config
└── known_hosts

Für die Services jeweils einen Key anlegen, geht folgendermaßen:

ssh-keygen -f ~/.ssh/servicename -t rsa -C "your_email@example.com"

Weiter solltet ihr ein im .ssh Ordner ein config-File anlegen:

# Default GitHub user
Host github
 HostName github.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/github_rsa.pub
 
# Work user account
Host bitbucket
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/bitbucket_rsa.pub

Damit git nun den richtigen Key auswählen kann, nutzen wir den ssh-agent. Er muss zunächst einmal gestartet sein. Danach kann man mit ssh-add -l die Liste der gerade aktiven SSH-Keys anzeigen lassen. Wenn man keine geladen hat, dann werden hier auch keine angezeigt.

Nun kann man mittels ssh-add beispielsweise den Key für Bitbucket laden. Hier wird dann auch nochmal das Passwort abgefragt.

ssh-add .ssh/bitbucket.rsa

Genauere Infos finden sich auch hier bei Bitbucket. Ich weiß, dass hier ist alles nicht sehr ausführlich. Ist auch mehr zum Nachschlagen für mich, damit ich nicht jeden Monat ein oder zwei Mal danach googeln muss, wenn ich meinen Rechner mal wieder rebootet habe :)