0

商用製品が関与していない場合、これを行う最も簡単な方法は何でしょうか。現在、このようにコードをセットアップしていますが、うまくいきません。現時点では、UNIXCOMPUTERNAME と UNIXPASSWORD は、個人的なテスト目的でプログラムにハードコーディングされています。

これは asp.net Web ページ用で、codebehind ファイルにあります。このコードを機能させたいか、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()
4

1 に答える 1

1

ご存知のように、Microsoftは.NETFrameworkの一部としてSSHライブラリを含めていません。ただし、次のような無料のライブラリがいくつかあります。

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プロジェクトが実行されているユーザーと同じユーザーとしてそのコマンドを実行できることを確認する必要があります。

于 2012-07-17T13:31:44.097 に答える