Je tente de démarrer plink.exe
(PuTTY Link, l'utilitaire de ligne de commande/version de PuTTY) à partir d'une application C# pour établir un tunnel inverse SSH, mais il ne fonctionne plus comme Dès que je passe les paramètres corrects.L'application CLI de démarrage par programmation ne fonctionne pas en fonction des arguments
Qu'est-ce que cela signifie? Cela fonctionne comme prévu: il ouvre une fenêtre de ligne de commande, affiche que j'ai oublié de passer le mot de passe pour l'argument -pw
et affiche l'invite. Je sais qu'il a eu les arguments, car il demande spécifiquement la seule chose que je n'ai pas fournie.
Uri uri = omitted;
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd";
info.Arguments = "/k \"C:\\Program Files (x86)\\PuTTY\\plink.exe\" -R 3389:" + uri.Host + ":" + uri.Port + " -N -l username -pw"; // TODO pwd
Process p = Process.Start(info);
J'ai essayé le même penser à appeler plink.exe
directement au lieu de cmd.exe /k
, mais la fenêtre se ferme immédiatement, ce qui est regrettable pour la chasse au bug.
mais quand je passe un mot de passe dans les arguments, plink.exe
affiche l'aide du programme (montrant les paramètres disponibles) et les départs volontaires:
Uri uri = omitted;
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd";
info.Arguments = "/k \"C:\\Program Files (x86)\\PuTTY\\plink.exe\" -R 3389:" + uri.Host + ":" + uri.Port + " -N -l username -pw secretpassword";
Process p = Process.Start(info);
Aucune indication des paramètres manquants. Les deux variantes cmd /k
et plink.exe
ne fonctionnent pas (cette dernière se ferme immédiatement, donc pas d'informations sur les comportements différents). Lorsque je lance l'application à partir du lanceur du menu Démarrer de Windows 7 avec les mêmes paramètres, une fenêtre cmd.exe
s'ouvre et établit la connexion comme demandé.
Qu'est-ce qui ne va pas? Y at-il un moyen plink.exe
avis qu'il ne fonctionne pas dans un vrai shell? Si oui, comment puis-je le contourner, comme le fait le menu Démarrer "invite"?
J'espère que cette question est exacte sur SO, car elle concerne, bien que spécifiquement pour une seule application, son lancement réussi par programmation.
Merci, je sais, mais aucune des réponses m'a aidé là-bas, je suspecte toujours par exemple. problèmes d'exécution pour les questions liées à Silverlight et a dû créer des hacks laids. Tout le code que j'utilise est affiché (copié dans main() pour un test), sauf entrer l'hôte et le port de l'objet Uri que j'abuse pour cette tâche, et le nom d'utilisateur et le mot de passe pour la connexion SSH. –