初心者です
VSのC#です。
サーバにssh接続を行い、サーバ上のプログラムを起動したいのですが、できません。
SherpSshというライブラリを参照し、usingには
using Tamir.SharpSsh;
using Tamir.SharpSsh.jsch;
の二行は加えてあります。
SshExecというクラスに初期値としてサーバアドレス、ユーザネーム、パスフレーズを文字列としてこの順番で設定しています。
そのうえでConnectメソッドに引数でTCPポート番号の22をintで与えて実行したところ、
Algorithm negotiation fail
という結果が返ってきて、接続できずに終了しています。
現在はテストということで、単純にRunCommandにmkdirでディレクトリが作成されているか確認しているだけです。
Connectの部分で例外に飛んでいます。
対策がわからず困っています。
また、ほかに上記より良い方法があるなら知りたいです。
よろしくお願いします。
最終的にはphpファイルを起動しmysqlから値を取り出したいです。サーバの都合上、直にmysqlには接続できません。
追記
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tamir.SharpSsh;
using Tamir.SharpSsh.jsch;
namespace ********
{
class ********
{
public string executeCommand(string **ユーザネーム.sakura.ne.jp** , string **ユーザネーム** , string **サーバに入るパスワード** , string **シェルコマンドの文字列** , int **tcpポートの番号(22を入れています)**) { SshExec ssh = new SshExec(**ユーザネーム.sakura.ne.jp** , **ユーザネーム** , **サーバに入るパスワード**); string result = null; //文字列に当たる箇所は""で囲むもしくはstring変数です try { ssh.Connect(**22**); result = ssh.RunCommand(**シェルコマンドの文字列**); } catch (Exception ex) { result = ex.Message; } finally { if (null != ssh) { ssh.Close(); } } return result; } }
}
コードの内容は上記のようなものでした。
回答1件
あなたの回答
tips
プレビュー