Vb.net通过Sharpssh连接到Unix服务器并等待响应
您好,我通过sharpssh与Unix服务器连接:Vb.net通过Sharpssh连接到Unix服务器并等待响应,vb.net,sharpssh,Vb.net,Sharpssh,您好,我通过sharpssh与Unix服务器连接: Imports Tamir.SharpSsh Imports Tamir.Streams Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim ssh As SshExec ssh = New SshExec("********", "****
Imports Tamir.SharpSsh
Imports Tamir.Streams
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ssh As SshExec
ssh = New SshExec("********", "******", "*****")
ssh.Connect()
ssh.RunCommand("amos RNC111")
ssh.RunCommand("lt all")
ssh.RunCommand("bye")
ssh.Close()
End Sub
End Class
问题是在ssh.Connect()
之后,我必须连接到RNC(无线网络控制器)并等待它连接。我不知道如何处理它,我检查是否使用标准DIN中的RedRection来执行此操作,但我发现可以使用以下内容创建一个新流程:
myProcess.StartInfo.FileName = "pepe.exe"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
myProcess.Start()
Dim ssh As SshExec
ssh = New SshExec("********", "******", "*****")
ssh.Connect()
ssh.RunCommand("amos RNC111")
MsgBox(myProcess.StandardInput)
ssh.Close()
但是我没有工作。您可以在Tamir程序集中使用SshShell类,并使用Expect模式:
string pattern="admin@localhost:~$";
string res = string.Empty;
myshell2 = new Tamir.SharpSsh.SshShell(ipaddress, cteUser, ctePasswd);
myshell2.ExpectPattern = pattern;
myshell2.RemoveTerminalEmulationCharacters = true;
myshell2.Connect();
//发射命令
myshell2.WriteLine("ls -la");
res = myshell2.Expect(pattern);
外壳将等待找到该端子线