Se sei come me, puoi:
Mantieni organizzate le tue chiavi ssh
Mantieni semplici i comandi del tuo clone git
Gestisci un numero qualsiasi di chiavi per qualsiasi numero di repository.
Riduci la manutenzione dei tasti ssh.
Conservo le mie chiavi nella mia ~/.ssh/keys
directory.
Preferisco la convenzione rispetto alla configurazione.
Penso che il codice sia legge; più è semplice, meglio è.
PASSAGGIO 1: creare un alias
Aggiungi questo alias alla tua shell: alias git-clone='GIT_SSH=ssh_wrapper git clone'
PASSAGGIO 2 - Crea script
Aggiungi questo script ssh_wrapper al tuo PERCORSO:
#!/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}" "$@"
ESEMPI
Utilizzare la chiave github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
L'esempio seguente utilizza anche la chiave github.com/l3x (per impostazione predefinita):
git-clone https://github.com/l3x/learn-fp-go
Usa la chiave bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
APPUNTI
Cambia SSH_KEY predefinito nello script ssh_wrapper con quello che usi più spesso. In questo modo, non è necessario utilizzare la variabile KEY per la maggior parte del tempo.
Potresti pensare: "Ehi! Succede molto con un alias, uno script e una directory di chiavi", ma per me è una convenzione. Quasi tutte le mie stazioni di lavoro (e server per quella materia) sono configurate in modo simile.
Il mio obiettivo qui è semplificare i comandi che eseguo regolarmente.
Le mie convenzioni, ad esempio script di Bash, alias, ecc., Creano un ambiente coerente e mi aiutano a mantenere le cose semplici.
BACIO e nomi contano.
Per ulteriori suggerimenti di progettazione, consulta il capitolo 4 SOLID Design in Go dal mio libro: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Spero che aiuti. - Lex