Uma dica simples para poupar tempo é o uso do ~/.ssh/config
.
Administrar diversas chaves SSH manualmente é bastante trabalhoso e nada prático.
É aqui que o arquivo de configuração do SSH torna-se útil.
O primeiro passo é criar o arquivo.
mkdir ~/.ssh && touch ~/.ssh/config
Agora basta editar o arquivo de acordo com a sua necessidade, exemplos:
Cenário em que é necessário o uso de duas chaves para dois projetos diferentes:
Host projeto-empresa-x
HostName 10.0.0.2
IdentityFile ~/.ssh/key-empresa-x.pem
User guest
Host projeto-empresa-y
HostName 172.16.0.92
IdentityFile ~/.ssh/key-empresa-y.pem
User dev
Dessa forma, poderia ser usado algo como:
ssh projeto-empresa-x
no lugar de ssh -i ~/.ssh/key-empresa-x.pem guest@10.0.0.2
;
ssh -N -L 8080:127.0.0.1:8080 projeto-empresa-y
no lugar de ssh -N -L 8080:127.0.0.1:8080 -i ~/.ssh/key-empresa-y.pem dev@172.16.0.92
.
Cenário em que uma única chave é usada para acessar diferentes servidores:
Host servidor-1
HostName 10.0.0.2
Host servidor-2
HostName 10.0.0.3
Host servidor-3
HostName 10.0.0.4
Host servidor-*
IdentityFile ~/.ssh/developer.pem
User developer
Cenário em que é possível utilizar dois repositórios de código diferentes:
Host github
HostName github.com
IdentityFile ~/.ssh/github
Host gitlab
HostName gitlab.com
IdentityFile ~/.ssh/gitlab
Veja a documentação para mais detalhes.