Bitwarden SSH Key
Ich verwalte alle meine Passwörter mit dem Passwortmanager
Bitwarden. Meine SSH Keys habe ich allerdings bisher
nicht im Bitwarden gespeichert, obwohl sich neben Logins auch Attachments zu
einzelnen Einträgen hinterlegen lassen. Daher wäre es theoretisch möglich
gewesen. Allerdings ist die Verwendung nicht so ganz komfortabel, wenn man die
Keys mit dem SSH-Client auf der Konsole verwenden möchte. Denn die Keys liegen
dann im Bitwarden und nicht mehr im .ssh-Verzeichnis. Um die Keys aber dennoch
komfortabel verwenden zu können, sie aber nirgends auf dem Rechner speichern zu
müssen, lassen sie sich über eine einfache Folge von Befehlen zu einem laufenden
ssh-agent hinzufügen.
Um diese Lösung nutzen zu können, benötigt man folgende Tools:
Hier ein Beispiel zum Vorgehen.
Zu erst starten wir einen SSH-Agent für die aktuelle Session:
$ eval $(ssh-agent)
Agent pid 24439
Im Anschluss müssen wir den Bitwarden Key Store öffnen und die geöffente Session
in der Variable $BW_SESSION speichern.
export BW_SESSION=$(bw unlock --raw)
Jetzt führen wir eine Kombination von Befehlen aus, die wir aneinander pipen:
- Abfragen des Items in sich der SSH-Key als Attachment befindet
- aus JSON Rückgabe die ID des Items extrahieren und nur diese ausgeben
- über die Bitwarden CLI den Inhalt des Attachments zum eben abgefragen Item ermitteln
- den Inhalt des privaten Schlüssels über
ssh-addzum aktuellen SSH-Agent hinzufügen
$ bw get item ITEM_NAME \
| jq ".id" -r \
| xargs bw get attachment ATTACHMENT_NAME --raw --itemid \
| ssh-add -
Damit dies nicht immer manuel ausgeführt werden muss, habe ich mir ein Helfer Script erstellt, das als gist zur Verfügung steht:
Comments (0)
No comments yet. Be the first to comment!