Conecte-se a várias máquinas através de um jumphost via ssh e colete algumas informações

Conecte-se a várias máquinas através de um jumphost via ssh e colete algumas informações

recentemente encontrei uma situação com a qual não sei como lidar, digamos, normalmente tenho que me conectar ao jumphost primeiro até então , depois (ou ), depois o mesmo para fazer login, agora quero escrever um script que possa fazer login automaticamente para all para executar algum comando para coletar informações de volta (concretamente para ver o uso da GPU da máquina), para que eu possa saber todo o uso da GPU em todas as máquinas com script único, mas não sei como, tentei a configuração do ProxyJump como:ssh [email protected]passwordssh machine1machine2 machine3 machine4,...passwordmachines(machine1, machine2, machine3, machine4,...)nvidia-smi

Host betajump
  HostName [email protected]

### Host to jump to via jumphost1.example.org
Host machine1
  HostName user@machine1
  ProxyJump betajump

mas não funciona quando tentei ssh machine1, solicita:

ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/cc/Downloads/software/envs/py2/lib/libcrypto.so.1.0.0: no version information available (required by ssh)
/home/cc/.ssh/config: line 7: Bad configuration option: proxyjump
/home/cc/.ssh/config: terminating, 1 bad configuration options

mesmo que funcione, ainda não tenho ideia de fazer o trabalho que quero, alguém pode ajudar?

Responder1

Já que você fala em querer criar um script para esse processo, o fato de estar usando senhas vai te deixar mais lento. Você pode considerar mudar para o uso de chaves privadas para autenticação em vez de senhas.

A primeira sugestão seria atualizar para o OpenSSH 7.3 ou superior. A versão 7.6 já foi lançada e a 7.3 foi lançada em 2016, então é bem possível que esteja disponível pré-embalado de alguma forma apropriada para sua distribuição. Caso contrário, você provavelmente poderá encontrá-lo e compilá-lo. Isso resolverá o erro de configuração que você está recebendo.

Se isso não for possível (você precisa ficar com 6.6.1), você pode tentar implementar a abordagem mais estranha listada no site ao qual criei um link em meu comentário:Wiki OpenSSH sobre: ​​encadeamento de gateways

Isso deve permitir que você crie scripts de conexões, mas como mencionado no início, os prompts de senha serão da ordem de 2x o número de máquinas que você irá verificar. Isso pode envelhecer muito rapidamente, então aconselho investigarautenticação de chave pública.

O problema da sua biblioteca é outra questão, um tanto complexa, e não o impede de abordar esse problema específico, por isso não vou abordá-lo em detalhes. Eu sugiro começar com 'man ldconfig' para saber como o LD_LIBRARY_PATH está definido e partir daí para descobrir por que '/home/cc/Downloads/software/envs/py2/lib/' aparece nele.

informação relacionada