/etc/issue ファイル内の ANSI コード

/etc/issue ファイル内の ANSI コード

Linux 開発ボードに、ANSI カラー コードがいくつか含まれている /etc/issue ファイルがあります。シリアル ターミナルから接続すると、すべてが正常に表示されます。ただし、SSH から接続すると、ESC 文字が "\033" に置き換えられ、受信側で認識されないため、ANSI コードが有効になりません。どうすれば修正できますか?

答え1

どうすれば修正できますか?

必要ありません。ほとんどのSSHクライアント(特にOpenSSH)は、ログイン前のバナーにANSIコードが出力されないように意図的に設定しています。信頼できないサーバーがクライアントに有害なコードを送信する可能性を防ぐためです。サーバー側から変更することはできません(これは一種のポイント)。

提案:

  1. バナーのコピーを 2 つ保存します。コンソール/シリアル ログイン用の派手なバナーを /etc/issue に保存し、SSH 用の単純なモノクロ バナーを /etc/ssh/issue.net などに保存します (パスは構成可能です)。

  2. SSHバナーをグラフィックに使用しないでください。(正直に言うと、大きな接続前バナーは迷惑な(頻繁にサーバーに SSH 接続する必要がある場合) 代わりに、派手なロゴをログイン後の /etc/motd に移動します。

関連情報