
A pergunta curta é que eu gostaria de saber se é possível dar nomes 'amigáveis' às conexões ssh no terminal?
Meu longo raciocínio é...
Tenho vários clusters de servidores rodando atrás de um único endereço IP via NAT. Posso usar SSH nos servidores individuais em cada cluster com números de porta diferentes, por exemplo:
ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230
No Putty/Windows eu daria a cada conexão um nome diferente (cluster1-web1,cluster1-web2,cluster1-web3), mas no Terminal não consigo ver uma maneira de fazer isso. Isso representa um problema porque não consigo diferenciar o servidor ao qual estou me conectando pelo nome do host e os números das portas são um tanto aleatórios.
Responder1
Execute isso no terminal:
nano ~/.ssh/config
e então você pode inserir seus hosts assim:
Host clust1-web1
Hostname clust1
User Username
Port 2210
Host clust1-web2
Hostname clust1
User Username
Port 2220
Então você pode ssh simplesmente executando:
ssh clust1-web1
Para obter uma lista completa de argumentos que você pode colocar neste arquivo, você pode executar:
man ssh_config
Responder2
não é exatamente a mesma coisa, mas você pode salvar cada comando de conexão como um alias.
Ou se você não puder fazer dessa maneira, apenas armazene cada comando de conexão como um shellscript/bashscript, talvez chamado connect-clust1-web1 e armazene-os em uma pasta que também está em seu PATH
então você pode simplesmente digitar connect-clust1-web1 e você se conectará.
Responder3
Você pode configurar aliases em ~/.ssh/config
:
Host clust-web1
Hostname clust1.somedomain.tld
Port 2210
(etc)
Então, você pode fazer ssh para esse host usando o alias:
ssh clust-web1