Hallo,
ich habe gerade ein kleines Vorhaben das ich nicht hinbekomme.
Es soll in einer Anwendung eine SSH Verbindung mit X11 Forwarding zu einer Linuxkiste aufgebaut werden. Zudem muss die Displayvariable gesetzt und Anwendungen gestartet werden die dann mit Hummingbird Exceed oder Xming auf Windows angezeigt wird.
Mit Putty ist das ja ohne Probleme möglich, allerdings scheitere ich bei der Umsetzung so etwas in meiner Anwendung einzubauen.
Als Bibliothek habe ich erstmal SshNet eingesetzt. Das öffnen einer Verbindung und einfache Befehle absetzen funktioniert, allerdings hört es bei der Variable schon auf, die wird nicht gesetzt.
Hier mal mein Ansatz (Ist nur zum Testen da, also nicht vollkommen ^^):
EDIT:
------------------------
Die SSH Lib kann auch eine andere sein, hab da noch die Tamir.SharpSSH und die Routrek.granados getestet, bei allen dreien war das gleiche Ergebniss.
ich habe gerade ein kleines Vorhaben das ich nicht hinbekomme.
Es soll in einer Anwendung eine SSH Verbindung mit X11 Forwarding zu einer Linuxkiste aufgebaut werden. Zudem muss die Displayvariable gesetzt und Anwendungen gestartet werden die dann mit Hummingbird Exceed oder Xming auf Windows angezeigt wird.
Mit Putty ist das ja ohne Probleme möglich, allerdings scheitere ich bei der Umsetzung so etwas in meiner Anwendung einzubauen.
Als Bibliothek habe ich erstmal SshNet eingesetzt. Das öffnen einer Verbindung und einfache Befehle absetzen funktioniert, allerdings hört es bei der Variable schon auf, die wird nicht gesetzt.
Hier mal mein Ansatz (Ist nur zum Testen da, also nicht vollkommen ^^):
Code:
#Region "Variablen" Dim xSSH As SshNet.SshClient #End Region Private Sub cmdConnUpDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdConnUpDown.Click If Me.cmdConnUpDown.Text = "Connect" Then xSSH = New SshNet.SshClient(Me.txtHost.Text, Me.txtUID.Text, Me.txtPWD.Text) xSSH.Connect() Me.cmdConnUpDown.Text = "Disconnect" For Each xCon As Control In Me.grpConn.Controls If Not xCon.Name = Me.cmdConnUpDown.Name Then xCon.Enabled = False End If Next Else xSSH.Disconnect() xSSH.Dispose() xSSH = Nothing Me.cmdConnUpDown.Text = "Connect" For Each xCon As Control In Me.grpConn.Controls xCon.Enabled = True Next End If End Sub Private Sub txtinput_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtinput.KeyDown If e.KeyCode = Keys.Return Then Dim xCmd As SshNet.SshCommand = xSSH.CreateCommand(Me.txtinput.Text) Dim result As String Dim result2 As String result = xCmd.Execute result2 = xCmd.Error If Not String.IsNullOrEmpty(result2) Then Me.txtoutput.Text = Me.txtoutput.Text & result2 End If Me.txtoutput.Text = Me.txtoutput.Text & result Me.txtinput.Text = Nothing End If End Sub
------------------------
Die SSH Lib kann auch eine andere sein, hab da noch die Tamir.SharpSSH und die Routrek.granados getestet, bei allen dreien war das gleiche Ergebniss.
Comment