Se você é como eu, pode:
Mantenha suas chaves ssh organizadas
Mantenha seus comandos git clone simples
Manipule qualquer número de chaves para qualquer número de repositórios.
Reduza sua manutenção de chave ssh.
Eu mantenho minhas chaves na minha ~/.ssh/keys
diretório.
Eu prefiro convenção do que configuração.
Eu acho que código é lei; quanto mais simples, melhor.
PASSO 1 - Criar alias
Adicione este alias ao seu shell: alias git-clone='GIT_SSH=ssh_wrapper git clone'
PASSO 2 - Criar Script
Adicione este script ssh_wrapper ao seu PATH:
#!/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}" "$@"
EXEMPLOS
Use a chave github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
O exemplo a seguir também usa a chave github.com/l3x (por padrão):
git-clone https://github.com/l3x/learn-fp-go
Use a chave bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
NOTAS
Altere o SSH_KEY padrão no script ssh_wrapper para o que você usa na maioria das vezes. Dessa forma, você não precisa usar a variável KEY na maioria das vezes.
Você pode pensar: "Ei! Isso está acontecendo muito com um apelido, um script e um diretório de chaves", mas para mim é uma convenção. Quase todas as minhas estações de trabalho (e servidores) estão configuradas da mesma forma.
Meu objetivo aqui é simplificar os comandos que executo regularmente.
Minhas convenções, por exemplo, scripts Bash, aliases etc., criam um ambiente consistente e me ajudam a manter as coisas simples.
BEIJO e nomes importam.
Para obter mais dicas de design, consulte o Capítulo 4 do SOLID Design no Go do meu livro: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Espero que ajude. - Lex