PHPのssh2_shell()関数(http://jp.php.net/manual/ja/function.ssh2-shell.php)を使ってネットワーク機器にSSH接続しようとしているのですが、
$stream = ssh2_shell($connection);
↑の部分で↓のようなエラーが出てしまいます。
Failed allocating vanilla pty at 80x25 characters in
多分、ssh2_shell()の2つ目の引数に何か適切なパラメータを入れなければいけないと思うのですが、何を入れればよいのか全く分かりません。上記URLを見ると、「対象システムの /etc/termcap に記載されたエントリの一つに相当し、 デフォルトは vanilla です。 」とあるのですが、何を言っているのか分かりません。
見当がつく方がいらっしゃったら、よろしくお願いします。
sshで繋ぐ際には、接続相手とどのようなプロトコルで通信するかを指定しておく必要があります。
相手が Linuxサーバ であれば 相手の/etc/termcapに存在するプロトコルの中から1つを指定します。
(指定しなかった場合のデフォルト設定が vanilla となっています)
「ネットワーク機器」と称しておられるのでパソコンではないと思われますが
その機器のメーカー・型番あるいは採用OSなどの環境を示して頂かないことには
何を指定すれば良いのか(何を指定できるのか)を調べる事もままなりませんので
「ネットワーク機器」について具体的な情報を開示することはできないかを検討してみてください。
もうひとつの質問(question:1244630372)も同様です。
sshで繋ぐ際には、接続相手とどのようなプロトコルで通信するかを指定しておく必要があります。
相手が Linuxサーバ であれば 相手の/etc/termcapに存在するプロトコルの中から1つを指定します。
(指定しなかった場合のデフォルト設定が vanilla となっています)
「ネットワーク機器」と称しておられるのでパソコンではないと思われますが
その機器のメーカー・型番あるいは採用OSなどの環境を示して頂かないことには
何を指定すれば良いのか(何を指定できるのか)を調べる事もままなりませんので
「ネットワーク機器」について具体的な情報を開示することはできないかを検討してみてください。
もうひとつの質問(question:1244630372)も同様です。
回答ありがとうございます。
ネットワークの機器は具体的には下記のものです。
http://h50146.www5.hp.com/products/networks/procurve/products/sw...
おそらく /etc/termcap とは関係ないような気がします.
Failed allocating vanilla pty at 80x25 characters in
なので,失敗しているのは仮想端末 (pty = pseudo tty) の割り当てのほうではないでしょうか.
「in」のあとにホスト名はありませんでしたでしょうか.また,そのホストは正常に稼働している ssh server でしょうか.
回答ありがとうございます。
「仮想端末の割り当て」…ですか。ちょっとよく分からないので勉強する必要がありそうです。
「in」のあとは、自分で書いたPHPのファイルが指定されているだけでした。
in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ssh.php on line 17
回答ありがとうございます。
ネットワークの機器は具体的には下記のものです。
http://h50146.www5.hp.com/products/networks/procurve/products/sw...