Scenerio: Me gustaría ejecutar comandos en máquinas remotas desde un programa Java a través de ssh (estoy usando OpenSSH en mi máquina de desarrollo). También me gustaría establecer la conexión ssh pasando la contraseña en lugar de configurar las claves como lo haría con 'esperar'.
Problema: Al intentar hacer la contraseña de 'esperar', el Proceso creado con ProcessBuilder parece no poder ver la solicitud de la contraseña. Cuando ejecuto comandos normales que no son ssh (por ejemplo, 'ls') puedo obtener las secuencias e interactuar con ellas sin problemas. Estoy combinando el error estándar y el estándar en una secuencia con redirectErrorStream(true);
, así que no me falta un error estándar ... Cuando ejecuto ssh con la opción '-v', veo todo el registro en la transmisión pero no lo hago ver el mensaje. Esta es la primera vez que intento usar ProcessBuilder para algo como esto. Sé que sería más fácil usar Python, Perl o un buen viejo pero mi jefe quiere utilizar lo que estamos tratando de recuperar (archivos de registro remotos y secuencias de comandos en ejecución) dentro de un programa Java existente, así que estoy algo atrapado.Ejecutando comandos sobre ssh con Java
¡Gracias de antemano por la ayuda!
+2 para el Alternativamente, -1 para no ir allí primero (llamándolo "alternativamente"). Net sigue siendo un +1 :) –
Recomiendo paramiko para java, sabiamente llamado jaramiko - http://www.lag.net/jaramiko/. originalmente en Python, ha sido portado a Java. facilitará el uso de la versión de Python cuando el jefe deja de funcionar :) – popcnt