Configuração mais eficiente para múltiplos túneis ssh?

1

Atualmente, necessito de acesso remoto a cerca de 10 a 20 máquinas, algumas das quais precisam ser acessadas por meio de vários saltos SSH. No entanto, notei que algumas das conexões SSH são um pouco lentas. Qual é a configuração mais eficiente? Mais especificamente, existe um custo de desempenho / E / S para adicionar mais ligações de porta ao mesmo comando ssh?

Por exemplo, quais são as diferenças entre isso:

ssh -f user0@host0 -i "/certs/key.pem" -L 2001:host1:22 -L 2002:host2:22 -L 2003:host3:22 -N

e isso:

ssh -f user0@host0 -i "/certs/key.pem" -L 2001:host1:22 -N
ssh -f user0@host0 -i "/certs/key.pem" -L 2002:host2:22 -N
ssh -f user0@host0 -i "/certs/key.pem" -L 2003:host3:22 -N

Noto que no primeiro caso há apenas uma instância do SSH em execução, mas no segundo caso haveria três. Qual configuração produziria o melhor desempenho para qualquer conexão SSH sendo feita através dos túneis? Ou, qualquer diferença de desempenho é simplesmente superada pela velocidade da rede?

    
por Robert Johnson 18.09.2013 / 16:30

1 resposta

1

Um usa uma única conexão com três túneis, o segundo usa três conexões separadas com três túneis. Mais eficiente apenas para usar o primeiro comando, supondo que não haja configurações alternativas em uso via ~/.ssh/config ou /etc/ssh/ssh_config .

Por exemplo, se você usar ControlMaster e ControlPath , ambos os comandos fornecerão o mesmo nível de desempenho.

Além disso, se você estiver criando scripts e estiver preocupado com a legibilidade, tente o seguinte:

ssh \
    -f \
    -i "/certs/key.pem" \
    -L 2001:host1:22 \
    -L 2002:host2:22 \
    -L 2003:host3:22

Acho que você alcançará sua meta um pouco mais fácil se usar isso em ~/.ssh/config :

Host host1
    ProxyCommand ssh host0 -W %h:%p

Se você fizer isso, você não precisa usar túneis, já que parece que você está tentando encaminhar conexões ssh.

    
por 18.09.2013 / 16:33