Wenn du wie ich bist, kannst du:
Halten Sie Ihre SSH-Schlüssel organisiert
Halten Sie Ihre Git-Klon-Befehle einfach
Behandeln Sie eine beliebige Anzahl von Schlüsseln für eine beliebige Anzahl von Repositorys.
Reduzieren Sie die Wartung Ihres SSH-Schlüssels.
Ich behalte meine Schlüssel in meinem ~/.ssh/keys
Verzeichnis.
Ich bevorzuge Konventionen gegenüber Konfigurationen.
Ich denke, Code ist Gesetz; Je einfacher es ist, desto besser.
SCHRITT 1 - Alias erstellen
Fügen Sie diesen Alias Ihrer Shell hinzu: alias git-clone='GIT_SSH=ssh_wrapper git clone'
SCHRITT 2 - Skript erstellen
Fügen Sie dieses ssh_wrapper- Skript Ihrem PATH hinzu:
#!/bin/bash
# Filename: ssh_wrapper
if [ -z ${SSH_KEY} ]; then
SSH_KEY='github.com/l3x' # <= Default key
fi
SSH_KEY="~/.ssh/keys/${SSH_KEY}/id_rsa"
ssh -i "${SSH_KEY}" "$@"
BEISPIELE
Verwenden Sie den Schlüssel github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
Im folgenden Beispiel wird auch der Schlüssel github.com/l3x verwendet (standardmäßig):
git-clone https://github.com/l3x/learn-fp-go
Verwenden Sie den Schlüssel bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
ANMERKUNGEN
Ändern Sie das Standard-SSH_KEY im Skript ssh_wrapper auf das, was Sie meistens verwenden. Auf diese Weise müssen Sie die Variable KEY die meiste Zeit nicht verwenden.
Sie mögen denken: "Hey! Das ist viel los mit einem Alias, einem Skript und einem Verzeichnis von Schlüsseln", aber für mich ist es Konvention. Fast alle meine Workstations (und Server) sind ähnlich konfiguriert.
Mein Ziel hier ist es, die Befehle zu vereinfachen, die ich regelmäßig ausführe.
Meine Konventionen, z. B. Bash-Skripte, Aliase usw., schaffen eine konsistente Umgebung und helfen mir, die Dinge einfach zu halten.
KUSS und Namen sind wichtig.
Weitere Designtipps finden Sie in Kapitel 4 SOLID Design in Go aus meinem Buch: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Ich hoffe, das hilft. - Lex