需要连接到UNIX和远程运行perl脚本 - 使用vb.net和SSH
问题描述:
什么是做到这一点那里没有任何涉及商用产品的最简单的方法。我目前有这样的代码设置,它不工作。目前UNIXCOMPUTERNAME和UNIXPASSWORD是硬编码到程序只是我个人的测试目的。需要连接到UNIX和远程运行perl脚本 - 使用vb.net和SSH
这是一个asp.net网页,这个位于代码隐藏文件。我要么让这个代码工作,要么想找到一个SSH库。我正在使用Visual Studio Web Developer Express,所以它似乎也限制了我。
Dim unixVariables(2) As String
nameLabel.Text = FQDN.Text
Dim Proc As New System.Diagnostics.Process
Proc.StartInfo = New ProcessStartInfo("C:\plink.exe")
Proc.StartInfo.Arguments = "-pw " & UNIXPASSWORD & " " & UNIXUSERNAME & "@" & UNIXCOMPUTERNAME & " ls > output.txt"
Proc.StartInfo.RedirectStandardInput = True
Proc.StartInfo.RedirectStandardOutput = True
Proc.StartInfo.UseShellExecute = False
Proc.Start()
' Pause for script to run
System.Threading.Thread.Sleep(100)
Proc.Close()
答
正如您似乎知道的那样,Microsoft不包含SSH库作为.NET框架的一部分。然而有一些免费的图书馆在那里,如:
http://www.codeproject.com/Articles/11966/sharpSsh-A-Secure-Shell-SSH-library-for-NET
http://www.routrek.co.jp/en/product/varaterm/granados.html
从未使用过他们,我不能为他们提供担保或推荐任何比任何其他。但是,如果您只是简单地执行命令行,就像您在问题中显示的一样,那也应该可以正常工作。由于您没有具体说明该解决方案的具体内容,因此很难告诉您如何解决该问题。您需要确保您可以像运行ASP项目的用户那样执行该命令。
对不起,不是更具体。我目前在Windows系统开发本上,我使用腻子监视我想连接到UNIX系统。在上面的代码中,我将命令“ls”发送到名为“output.txt”的文件。我没有得到任何错误,当我执行此,但没有被创建的文件 - 所以它使其难以追查其中的问题是。 – envinyater 2012-07-17 13:39:29