Terminal Mac OS X - Nomeando conexões SSH?

Terminal Mac OS X - Nomeando conexões SSH?

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

informação relacionada