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 (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:
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.