需要连接到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://sshnet.codeplex.com/

http://www.routrek.co.jp/en/product/varaterm/granados.html

从未使用过他们,我不能为他们提供担保或推荐任何比任何其他。但是,如果您只是简单地执行命令行,就像您在问题中显示的一样,那也应该可以正常工作。由于您没有具体说明该解决方案的具体内容,因此很难告诉您如何解决该问题。您需要确保您可以像运行ASP项目的用户那样执行该命令。

+0

对不起,不是更具体。我目前在Windows系统开发本上,我使用腻子监视我想连接到UNIX系统。在上面的代码中,我将命令“ls”发送到名为“output.txt”的文件。我没有得到任何错误,当我执行此,但没有被创建的文件 - 所以它使其难以追查其中的问题是。 – envinyater 2012-07-17 13:39:29