/etc/termcap とは?


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 です。 」とあるのですが、何を言っているのか分かりません。

見当がつく方がいらっしゃったら、よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2009/06/10 22:56:02
  • 終了:2009/06/11 03:34:16

ベストアンサー

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012009/06/10 23:44:33

ポイント35pt

sshで繋ぐ際には、接続相手とどのようなプロトコルで通信するかを指定しておく必要があります。


相手が Linuxサーバ であれば 相手の/etc/termcapに存在するプロトコルの中から1つを指定します。

(指定しなかった場合のデフォルト設定が vanilla となっています)


「ネットワーク機器」と称しておられるのでパソコンではないと思われますが

その機器のメーカー・型番あるいは採用OSなどの環境を示して頂かないことには

何を指定すれば良いのか(何を指定できるのか)を調べる事もままなりませんので

「ネットワーク機器」について具体的な情報を開示することはできないかを検討してみてください。

もうひとつの質問(question:1244630372)も同様です。

id:rapuntuleru

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

ネットワークの機器は具体的には下記のものです。

http://h50146.www5.hp.com/products/networks/procurve/products/sw...

2009/06/10 23:54:03

その他の回答(1件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012009/06/10 23:44:33ここでベストアンサー

ポイント35pt

sshで繋ぐ際には、接続相手とどのようなプロトコルで通信するかを指定しておく必要があります。


相手が Linuxサーバ であれば 相手の/etc/termcapに存在するプロトコルの中から1つを指定します。

(指定しなかった場合のデフォルト設定が vanilla となっています)


「ネットワーク機器」と称しておられるのでパソコンではないと思われますが

その機器のメーカー・型番あるいは採用OSなどの環境を示して頂かないことには

何を指定すれば良いのか(何を指定できるのか)を調べる事もままなりませんので

「ネットワーク機器」について具体的な情報を開示することはできないかを検討してみてください。

もうひとつの質問(question:1244630372)も同様です。

id:rapuntuleru

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

ネットワークの機器は具体的には下記のものです。

http://h50146.www5.hp.com/products/networks/procurve/products/sw...

2009/06/10 23:54:03
id:tera-p No.2

tera-p回答回数92ベストアンサー獲得回数212009/06/10 23:44:51

ポイント35pt

おそらく /etc/termcap とは関係ないような気がします.

Failed allocating vanilla pty at 80x25 characters in

なので,失敗しているのは仮想端末 (pty = pseudo tty) の割り当てのほうではないでしょうか.

「in」のあとにホスト名はありませんでしたでしょうか.また,そのホストは正常に稼働している ssh server でしょうか.

id:rapuntuleru

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

「仮想端末の割り当て」…ですか。ちょっとよく分からないので勉強する必要がありそうです。

「in」のあとは、自分で書いたPHPのファイルが指定されているだけでした。

in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\ssh.php on line 17

2009/06/10 23:56:15
  • id:kn1967
    とりあえずマニュアルの在り処をメモ。
    http://h50146.www5.hp.com/products/networks/procurve/manuals/index.html

    ProCurve Switch 2610シリーズ
    インストレーションガイド(2009年4月)(PDF 2.85 MB)
    マネージメント/コンフィグレーションガイド(2009年2月)(PDF 4.21 MB) ← これが必用。

    ssh で接続するための処理は一通り済んでいるものとして調べているけど
    使っている人からの回答を待ったほうが早いかも・・・
  • id:tera-p
    エラーメッセージは「仮想端末が割り当てられなかった」とは言ってますが,その原因はたいてい別のところにあるため,あまり仮想端末の周辺を調べても得るものは少ないかもしれません.サーバ側のエラーメッセージ(ProCurve の syslog)を確認してみたほうが良いと思います.

  • id:kn1967
    ProCurve Switch 2610 のデフォルトは VT-100 のようですが
    xampp側ではどのように対処すれば良いのかは判らないので
    経験した事のある方が現れるのを待つしかありませんね。

    最後までフォローできそうになく申し訳ない。
  • id:rapuntuleru
    コメントありがとうございます。

    スイッチ側のログを見ると、5回くらいは接続できているみたいです(たしかに、何回かは上記のようなエラーではなく普通にシリアル接続で入ったときのようなメッセージが出ていました。)。
    今まで50回くらいは試したので10回に1回くらいはできてるようです。
    見てみると、接続できているのは20分置きに1回くらいです。

    なぞです。。。
  • id:rapuntuleru
    どうやら、数回接続した後に、コネクションが切断されていなかった(ある処理でループしていた)のが原因だったようです。
    ありがとうございました(また、別の問題が出てきましたが…)。

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

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

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

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