Habe mir Visual Basic die möglichkeit mit SSH.NET eine Verbindung über SSH herzustellen.
Da ich später gerne über ein Programm mehrere Befehle über SSH verschicken will, habe ich vor, das sobal das Programm geöffnet wird, eine SSH verbindung aufgebaut werden soll. Diese soll dann ununterbrochen aufgebaut sein.
Erst nachdem ich das Programm wieder schließe, oder ein "Trennen"-Button drücke, soll die Verbindung beendet werden.
Mein problem ist nun, das ich zwar mit SSH befehle verschicken kann und diese auch Auswerten kann. Allerdings wird nach jedem "Nutzer"-Eingriff, also z.B. nachdem ein Button gedrückt wird, eine Verbindung aufgebaut und dann wieder getrennt.
Ich möchte wie gesagt die Verbindung dauerhaft aufrecht erhalten, und nach dem ein Button gedrückt wurde, soll nur ein Befehl gesendet werden.
Bisher habe ichs folgendermaßen versucht:
Das problem das sich mir nun stellt ist, dass bei der Routine für den Button, die Variablem "cmd" und "sshClient" nicht deklariert sind.
Gibts da ne Lösung?
Da ich später gerne über ein Programm mehrere Befehle über SSH verschicken will, habe ich vor, das sobal das Programm geöffnet wird, eine SSH verbindung aufgebaut werden soll. Diese soll dann ununterbrochen aufgebaut sein.
Erst nachdem ich das Programm wieder schließe, oder ein "Trennen"-Button drücke, soll die Verbindung beendet werden.
Mein problem ist nun, das ich zwar mit SSH befehle verschicken kann und diese auch Auswerten kann. Allerdings wird nach jedem "Nutzer"-Eingriff, also z.B. nachdem ein Button gedrückt wird, eine Verbindung aufgebaut und dann wieder getrennt.
Ich möchte wie gesagt die Verbindung dauerhaft aufrecht erhalten, und nach dem ein Button gedrückt wurde, soll nur ein Befehl gesendet werden.
Bisher habe ichs folgendermaßen versucht:
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'Create the objects needed to make the connection'
- Dim connInfo As New Renci.SshNet.PasswordConnectionInfo("192.168.188.30", "xxxx", "xxxx")
- Dim sshClient As New Renci.SshNet.SshClient(connInfo)
- 'Need to hold the command'
- Dim cmd As Renci.SshNet.SshCommand
- Using sshClient
- 'connect to the server'
- sshClient.Connect()
- End Using
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- 'Run the command and put the results into the cmd object. In this case'
- 'I am just running a directory list'
- cmd = sshClient.RunCommand("lsusb")
- MsgBox(cmd.Result)
- 'Close the connection.'
- sshClient.Disconnect()
- End Sub
- End Class
Das problem das sich mir nun stellt ist, dass bei der Routine für den Button, die Variablem "cmd" und "sshClient" nicht deklariert sind.
Gibts da ne Lösung?