Conéctese a varias máquinas a través de un jumphost a través de ssh y recopile información

Conéctese a varias máquinas a través de un jumphost a través de ssh y recopile información

Recientemente encontré una situación que no sé cómo manejar, digamos, por lo general tengo que conectarme a Jumphost primero para entonces , luego (o ), luego lo mismo para iniciar sesión, ahora quiero escribir un script que pueda iniciar sesión automáticamente en todo para ejecutar algún comando para recopilar información (concretamente para ver el uso de GPU de la máquina), de modo que pueda conocer todo el uso de GPU en todas las máquinas con un solo script, pero no sé cómo hacerlo, probé la configuración de 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

pero no funciona cuando se prueba ssh machine1, aparece el siguiente mensaje:

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

Incluso si esto funciona, todavía no tengo idea de cómo hacer el trabajo que quiero, ¿alguien puede ayudarme?

Respuesta1

Dado que usted habla de querer programar este proceso, el hecho de que esté utilizando contraseñas lo ralentizará. Es posible que desee considerar cambiar al uso de claves privadas para la autenticación en lugar de contraseñas.

La primera sugerencia sería actualizar a OpenSSH 7.3 o superior. La versión 7.6 ya está disponible y la 7.3 se lanzó en 2016, por lo que es muy posible que esté disponible preempaquetada en algún formato apropiado para su distribución. Si no, probablemente puedas encontrarlo y compilarlo. Esto resolverá el error de configuración que está recibiendo.

Si eso no es posible (debe permanecer con 6.6.1), puede intentar implementar el enfoque más incómodo que figura en el sitio al que vinculé en mi comentario:OpenSSH wiki re: encadenamiento de puertas de enlace

Eso debería permitirle programar las conexiones, pero como se mencionó al principio, las solicitudes de contraseña serán del orden del doble de la cantidad de máquinas que va a verificar. Eso podría envejecer con bastante rapidez, por lo que aconsejo investigarautenticación de clave pública.

Su problema con la biblioteca es otra cuestión completamente diferente, algo compleja, y no le impide abordar este problema específico, por lo que no lo cubriré en detalle. Sugeriría comenzar con 'man ldconfig' para aprender cómo está configurado LD_LIBRARY_PATH y continuar desde allí para descubrir por qué aparece '/home/cc/Downloads/software/envs/py2/lib/' en él.

información relacionada