Conexión con SSH con SSH-KEY Automatica

Iniciado por P4nd3m0n1um, 26 Abril 2016, 16:17 PM

0 Miembros y 1 Visitante están viendo este tema.

P4nd3m0n1um

Muy buenas foro, estoy intentando conectarme a un server con ssh, trabajando en visual basic 2015, probe con la DLL que se llama SSH.NET https://www.nuget.org/packages/SSH.NET/2014.4.6-beta2, funciona se conecta y todo y puedo obtener información del dispositivo, pero cuando envió un comando por ejemplo para editar un archivo y guardarlo (sed), nada no me da respuesta alguna, envió un reboot y obtengo que funciona el comando, por ende la conexión esta bien y se pueden enviar simples comandos pero nada elaborado, por ende busque mas opciones, probé con plink.exe y tengo el problema de la ssh-key y por mas que envio el comando "Echo Y | plink.exe " funciona la primera vez, después se cuelga. Probé cambien con WinSCP, nada.

Si alguien tiene una data de como hacerlo se los agradecería.




En el caso de SSH.NET el código es:

Código (vbnet) [Seleccionar]
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Me.Cursor = Cursors.WaitCursor
        'Create the objects needed to make the connection'
        Dim sshConnectionInfo As New Renci.SshNet.PasswordConnectionInfo(SERVER, USER, PASS)
        Dim sshClient As New Renci.SshNet.SshClient(sshConnectionInfo)

        'Need to hold the command'
        Dim cmd As Renci.SshNet.SshCommand

        Using sshClient
            'connect to the server'
            sshClient.Connect()

            If sshClient.IsConnected Then

                'si esta conectado
                'Run the command'

                cmd = sshClient.RunCommand("y")

                Threading.Thread.Sleep(2000)

                cmd = sshClient.RunCommand("sed -i 's/VARS=.*/VARS=12/g' /tmp/dataconf.cfg #")

                Threading.Thread.Sleep(2000)

                cmd = sshClient.RunCommand("save #")

                Threading.Thread.Sleep(2000)

                cmd = sshClient.RunCommand("reboot #")

                Me.Cursor = Cursors.Default

            Else
                'NO ESTA CONECTADO
            End If
        End Using
    End Sub


Se que el comando reboot funciona, los anteriores no se ven cambios.