ネットワーク機器にプログラムからSSH接続するには?


PHPのssh2_exec()関数でコマンドを実行したいのですが、うまくできません。
Unable to request command execution on remote host
と、コマンドが見当たらない、というエラーが出ているようです。いつも打つようなコマンドをあらかたパラメータに入れてみたのですが、同じエラーが出てしまいます。

コードは、以下のような感じです。

$connection = ssh2_connect("略".22);
ssh2_auth_password($connection,'','');
ssh2_exec($connection,'show ?');

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2009/06/10 19:39:35
  • 終了:2009/06/11 03:34:32

ベストアンサー

id:QuestR2 No.2

QuestR2回答回数435ベストアンサー獲得回数132009/06/10 21:18:14

ポイント35pt

ssh2_execの代わりに、ssh2_shellをつかってみるとか

http://www.res-system.com/weblog/item/589

id:rapuntuleru

回答ありがとうございます。

なるほど、そっちも使えそうですね。

やってみます。、

2009/06/10 21:40:58

その他の回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332009/06/10 20:33:37

ポイント35pt

そもそも SSH接続は確立していますか?

つまり、

  1. ssh2_connect の戻り値 $connection は FALSE にはなっていませんか?
  2. ssh2_auth_password の戻り値は FALSE にはなっていませんか?
id:rapuntuleru

回答ありがとうございます。一応、

if(!ssh2_auth_password($connection,'procurve','procurve')){

die("Failed");

}

echo("Connect");

と書いて、Connectが表示されるので、接続されているかなと思います。

2009/06/10 20:43:21
id:QuestR2 No.2

QuestR2回答回数435ベストアンサー獲得回数132009/06/10 21:18:14ここでベストアンサー

ポイント35pt

ssh2_execの代わりに、ssh2_shellをつかってみるとか

http://www.res-system.com/weblog/item/589

id:rapuntuleru

回答ありがとうございます。

なるほど、そっちも使えそうですね。

やってみます。、

2009/06/10 21:40:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません