2

Plink (PuTTY) を使用して、Windows マシンから Solaris サーバーへの SSH 接続が次の方法で開かれます。

Plink.exe -t <hostname> /bin/bash

/bin/bash次に、bash コマンド ラインが Plink.exe の stdin に書き込まれ、リモートプロセスによって解析および実行されます。

bash コマンド ラインが約 256 文字以内であれば機能します。256 文字が書き込まれると、それ以上の文字はエコー バックされず、代わりに追加の文字ごとに BEEP (ASCII コード 7) が返されます。

(スクリプトを直接呼び出す代わりに使用するのは奇妙に思えるかもしれません/bin/bashが、これはより複雑なシナリオの単純化された例です)

256 文字の制限は -t フラグが使用されている場合にのみ発生するようですが、solaris サーバーで実行されるコマンドには TTY が必要です。

このPlink.exeプロセスは、Windows マシン上の JVM から開始されます。

「ローカル行編集」と「ローカルエコー」の両方をオフにして、PuTTY セッション構成で Plink.exe を読み込んでみましたが、動作は同じでした。

Plink.exeSSH クライアント ( ) またはサーバー側 (Solaris、OpenSSH、Bash)での 256 文字の制限はありますか?

256 文字の制限を回避するにはどうすればよいですか?

4

1 に答える 1

0

標準モードの TTY への入力は 1 行ずつ読み取られるため、非常に大きな行は入力キューに収まらない場合があります。TTY を raw モードに設定すると、各文字を直接読み取ることができ、行を入力キューより大きくすることができます。

この問題は、「stty raw」を呼び出すことで解決されました。

于 2011-03-31T16:41:58.280 に答える