Commandes en cours d'exécution sur ssh avec Java

Scenerio: j'aimerais exécuter des commandes sur des machines distantes à partir d'un programme Java sur ssh (je l'utilise OpenSSH sur ma machine de développement). J'aimerais aussi faire la connexion ssh en passant le mot de passe plutôt que de configurer les touches comme je le ferais avec "prévoir".
Problème: Lorsque vous essayez de faire le "prévoir" comme mot de passe de connexion, le Processus qui s'est créé avec ProcessBuilder n'arrive pas à voir l'invite du mot de passe. Lors de l'exécution régulière de la non-ssh commandes (e.g 'ls') je peux obtenir le flux et d'interagir avec eux très bien. Je suis combinant erreur standard et standard dans un ruisseau avec redirectErrorStream(true); donc je ne suis pas la rater dans la norme de l'erreur...Quand je lance ssh avec l'option '-v' option, je vois tous les journalisation dans le flux, mais je ne vois pas l'invite de commandes. C'est ma première fois d'essayer d'utiliser ProcessBuilder pour quelque chose comme ça. Je sais qu'il serait plus facile à utiliser Python, Perl ou good ol' attendre, mais mon patron veut utiliser ce que nous essayons de revenir (à distance les fichiers journaux et l'exécution de scripts) à l'intérieur d'un programme Java donc je suis un peu coincé.

Merci d'avance pour l'aide!

OriginalL'auteur Ichorus | 2009-02-20