ホストBからtelnetを使用してアクセスできるリモートホストCがあります。ホストAから、sshを使用して、ホストCのtelnetサーバーにアクセスするためのポートフォワードを作成します。
HostAで次のコマンドを使用します
ssh -n -l root <ip HostB> -L3015:<private ip hostC>:23 -N -t -t
このコマンドを使用すると、telnet localhost 3015を使用してhostCのtelnetポートに接続できますが、hostCモデル/デバイスに応じて、telnetは行ごとまたは文字ごとに機能します。 telnetを常に文字モードで動作させたい。
Telnetコマンドを使用してモードを変更できることは知っていますが、telnetプロンプト(telnet>)にエスケープせずにこのモードを強制する必要があります。エクスポートする環境変数の種類や、telnetクライアントを渡すためのフラグ/オプションがあるかどうかはわかりません(manページには何も表示されません)。
もちろん、ホストAまたはホストBからホストCにtelnetを使用して接続する場合、telnetモードは常に文字です(行ごとではありません)。
あなたがやろうとしていることに正確に従わない...
ただし、ホストごとにtelnetコマンドを指定することも、$ HOME /.telnetrcまたは/ etc/telnetrcファイルを使用して、DEFAULTHostを使用してすべてのホストに設定することもできます。 telnetのマニュアルページの「ホストを開く」の部分を参照してください。
どのTelnetクライアントまたは少なくとも使用しているOSをお知らせいただければ助かります。多くのシステムでは、23以外のポート(または/ etc/servicesで一致する「telnet」)にtelnetで接続すると、クライアントはいかなる種類のプロトコルネゴシエーションも実行しません。これは、HTTPまたはPOPサーバーを手動でデバッグするのに最適ですが、あなたの場合はそれほど優れていません。
Linux、OS X、およびCygwinのtelnetのマニュアルページによると、ポート番号の前にマイナスを付けます。 telnet localhost -3015
非標準ポートでネゴシエーションを強制する必要があります。 Solarisのマニュアルページにはこれについては触れられていません。標準のWindowstelnetクライアントが何を提供するのかわかりません。