Terminal Mac OS X - Nomeando conexões SSH?

4

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 é ...

Eu tenho vários clusters de servidores rodando atrás de um único endereço IP via NAT. Eu posso SSH nos servidores individuais em cada cluster com diferentes números de porta, 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 ( clust1-web1 , clust1-web2 , clust1-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 de porta são um pouco aleatórios.

    
por James Napier 23.12.2013 / 11:11

3 respostas

3

Execute isso no terminal:

nano ~/.ssh/config

e, em seguida, 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 fazer o ssh simplesmente executando:

ssh clust1-web1

Para uma lista completa dos argumentos que você pode colocar neste arquivo, você pode executar:

man ssh_config
    
por 23.12.2013 / 11:43
1

não é exatamente o mesmo, mas você pode salvar cada comando de conexão como um alias.

Ou se você não puder fazer desta forma, apenas armazene cada comando de conexão como um shellscript / bashscript, talvez chamado connect-clust1-web1 e armazene aqueles em uma pasta que também esteja em seu PATH

para que você possa apenas digitar connect-clust1-web1 e se conectar.

    
por 23.12.2013 / 11:29
1

Você pode configurar aliases no seu ~/.ssh/config :

Host clust-web1
Hostname clust1.somedomain.tld
Port 2210

(etc)

Em seguida, você pode ssh para esse host usando o alias:

ssh clust-web1
    
por 23.12.2013 / 11:41