Ik wil in een VB.net applicatie m.b.v. putty of een andere ssh-client een connectie maken met een Linux toestel. Met plink kan ik opdrachten doorgeven via Diagnostics.Process maar met putty of telnet wil het niet lukken.
Ik start eerst het proces via pProcess.StartInfo.FileName = "c:\windows\system32\cmd.exe"
vervolgens stuur ik opdrachten door via pProcess.StandardInput.WriteLine("telnet -l test 10.200.0.10")
Standard Error stream geeft:
======================================
Azerty123 wordt niet herkend als een interne
of externe opdracht, programma of batchbestand.
ls wordt niet herkend als een interne
of externe opdracht, programma of batchbestand.
======================================
Standard Output stream geeft:
======================================
c:\windows\system32\cmd.exe
Microsoft Windows [versie 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
c:\windows\system32>telnet -l test 10.200.0.10
c:\windows\system32>Azerty123
c:\windows\system32>ls
c:\windows\system32>exit
======================================
Blijkbaar worden later commando's niet doorgegeven aan de telnet sessie ookal heb ik de regel erboven gestart?! Als ik zelf via de commandline probeer lukt het natuurlijk vanzelf maar als ik diezelfde opdracht doorstuur aan het diagnostics.process object faalt het.
Ik heb de indruk dat het redirecten van de standardinput enkel werkt met cmd.exe en geen ander proggies.
ps rechtstreeks putty of telnet opstarten ipv eerst cmd.exe geeft hetzelfde probleem.
Voorbeeld met putty:
pProcess.StartInfo.FileName = "c:\putty.exe"
pProcess.StartInfo.Arguments = "-ssh -l root -pw mijnpw 10.200.0.10"
hier opent het het putty-venster wel en ben ik aangemeld maar worden writelines niet doorgevoerd.
Via plink kan ik wel commando's doorvoeren omdat ik dan geen standardinputredirect nodig heb maar als je veel commando's moet doorsturen is plink veel te traag omdat het elke keer een nieuwe sessie opent/sluit.
Kan iemand mij raad of inzicht geven in dit probleem?
Alvast hartelijk dank!
Ik start eerst het proces via pProcess.StartInfo.FileName = "c:\windows\system32\cmd.exe"
vervolgens stuur ik opdrachten door via pProcess.StandardInput.WriteLine("telnet -l test 10.200.0.10")
Standard Error stream geeft:
======================================
Azerty123 wordt niet herkend als een interne
of externe opdracht, programma of batchbestand.
ls wordt niet herkend als een interne
of externe opdracht, programma of batchbestand.
======================================
Standard Output stream geeft:
======================================
c:\windows\system32\cmd.exe
Microsoft Windows [versie 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
c:\windows\system32>telnet -l test 10.200.0.10
c:\windows\system32>Azerty123
c:\windows\system32>ls
c:\windows\system32>exit
======================================
Blijkbaar worden later commando's niet doorgegeven aan de telnet sessie ookal heb ik de regel erboven gestart?! Als ik zelf via de commandline probeer lukt het natuurlijk vanzelf maar als ik diezelfde opdracht doorstuur aan het diagnostics.process object faalt het.
Ik heb de indruk dat het redirecten van de standardinput enkel werkt met cmd.exe en geen ander proggies.
ps rechtstreeks putty of telnet opstarten ipv eerst cmd.exe geeft hetzelfde probleem.
Voorbeeld met putty:
pProcess.StartInfo.FileName = "c:\putty.exe"
pProcess.StartInfo.Arguments = "-ssh -l root -pw mijnpw 10.200.0.10"
hier opent het het putty-venster wel en ben ik aangemeld maar worden writelines niet doorgevoerd.
Via plink kan ik wel commando's doorvoeren omdat ik dan geen standardinputredirect nodig heb maar als je veel commando's moet doorsturen is plink veel te traag omdat het elke keer een nieuwe sessie opent/sluit.
Kan iemand mij raad of inzicht geven in dit probleem?
Alvast hartelijk dank!