Si eres como yo, puedes:
Mantenga sus claves ssh organizadas
Mantenga sus comandos git clone simples
Maneje cualquier cantidad de claves para cualquier cantidad de repositorios.
Reduzca el mantenimiento de su clave ssh.
Guardo mis llaves en mi ~/.ssh/keys
directorio.
Prefiero la convención sobre la configuración.
Creo que el código es ley; cuanto más simple sea, mejor.
PASO 1 - Crear alias
Agregue este alias a su shell: alias git-clone='GIT_SSH=ssh_wrapper git clone'
PASO 2 - Crear secuencia de comandos
Agregue este script ssh_wrapper a su RUTA:
#!/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}" "$@"
EJEMPLOS
Use la clave github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
El siguiente ejemplo también usa la clave github.com/l3x (por defecto):
git-clone https://github.com/l3x/learn-fp-go
Use la clave bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
NOTAS
Cambie el SSH_KEY predeterminado en el script ssh_wrapper a lo que usa la mayor parte del tiempo. De esa manera, no necesita usar la variable KEY la mayor parte del tiempo.
Puede pensar: "¡Oye! Eso está sucediendo con un alias, un script y un directorio de teclas", pero para mí es una convención. Casi todas mis estaciones de trabajo (y servidores para el caso) están configuradas de manera similar.
Mi objetivo aquí es simplificar los comandos que ejecuto regularmente.
Mis convenciones, por ejemplo, secuencias de comandos Bash, alias, etc., crean un entorno coherente y me ayudan a simplificar las cosas.
El beso y los nombres importan.
Para obtener más consejos de diseño, consulte el Capítulo 4 Diseño SÓLIDO en Ir de mi libro: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Espero que ayude. - Lex