C#でLinuxへ接続して、シェルを実行する

C#Linuxへ接続してシェルを実行したかったので、簡単なサンプルで試してみた。

MySQLならドライバーが用意されており、それを使えばSQLを発行して実行結果を取得できるのはよく知っている。
同じように接続するためのドライバーのようなものが用意されているでしょうということで、ググってみたところ、「SharpSSH」というライブラリがあった。
今回はこれを使用してサンプルを作成した。

using Tamir.SharpSsh;
using Tamir.SharpSsh.jsch;

private string executeCommand(string serverHost, string userName, string pass, string command, int tcpPort)
        {
            SshExec ssh = new SshExec(serverHost, userName, pass);
            string result = null;

            try
            {
                ssh.Connect(tcpPort);
                result = ssh.RunCommand(command);
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }
            finally
            {
                if(null != ssh){
                   ssh.Close();
                }
            }

            return result;
        }

usingで2つの名前空間をインポートして、上記のように書くだけ。
例外処理などなど、細かなことをいうと、もっとしっかり書く必要はあるけど、サンプルとしては以上。