Raspberry PI2のSSHの操作をC#で作ってみる

 SSHの操作はTeratramを使っているが、コマンドを一々覚えていられないのでテキストに張り付けてあって、コピペで実行している。とは言えそれでもまだ面倒なので、C#SSHを操作できるライブラリがあるので試してみた。


 SharpSSHからライブラリをダウンロードし、C#を新規プロジェクトを作って、dllファイルを読み込み、頭のUsingの所に以下のように付け加える。

以下はネットで見つけた例。executeCommand(ホストIPアドレス,ユーザー名,パスワード,コマンド,TCPポート名)を入れて送ると結果が文字列で帰ってくる関数を作る感じだ。TCPポート名は変えていなければ無くても行ける。
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);
ssh.Connect();
result = ssh.RunCommand(command);
}
catch (Exception ex)
{
result = ex.Message;
}
finally
{
if (null != ssh)
{
ssh.Close();
}
}

return result;
}

 ボタンとラベルを配置して、ボタンを押されるとコマンド"hostname -I"を送るようにしてみるとRaspberry PI2のIPアドレスが返ってくる。返ってきた文字列をラベルに表示すると以下のようになる。