Si vous êtes comme moi, vous pouvez:
Gardez vos clés SSH organisées
Gardez vos commandes de git clone simples
Manipulez n'importe quel nombre de clés pour n'importe quel nombre de référentiels.
Réduisez la maintenance de votre clé ssh.
Je garde mes clés dans mon ~/.ssh/keys
répertoire.
Je préfère la convention à la configuration.
Je pense que le code est une loi; plus c'est simple, mieux c'est.
ÉTAPE 1 - Créer un alias
Ajoutez cet alias à votre shell: alias git-clone='GIT_SSH=ssh_wrapper git clone'
ÉTAPE 2 - Créer un script
Ajoutez ce script ssh_wrapper à votre CHEMIN :
#!/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}" "$@"
EXEMPLES
Utilisez la clé github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
L'exemple suivant utilise également la clé github.com/l3x (par défaut):
git-clone https://github.com/l3x/learn-fp-go
Utilisez la clé bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
REMARQUES
Remplacez SSH_KEY par défaut dans le script ssh_wrapper par ce que vous utilisez la plupart du temps. De cette façon, vous n'avez pas besoin d'utiliser la variable KEY la plupart du temps.
Vous pouvez penser, "Hé! Cela se passe beaucoup avec un alias, un script et un répertoire de clés", mais pour moi c'est la convention. Presque tous mes postes de travail (et serveurs d'ailleurs) sont configurés de manière similaire.
Mon objectif ici est de simplifier les commandes que j'exécute régulièrement.
Mes conventions, par exemple, les scripts Bash, les alias, etc., créent un environnement cohérent et m'aident à garder les choses simples.
KISS et les noms comptent.
Pour plus de conseils de conception, consultez le chapitre 4 SOLID Design in Go de mon livre: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
J'espère que cela pourra aider. - Lex