Ubuntu 14.04 に MOTD がない...?

Ubuntu 14.04 に MOTD がない...?

最近、Ubuntu 14.04 を新規インストールしました。SSH を実行しても、MOTD がありません (もちろん、sshd_config に適切なコマンドを設定しています)。

MOTD の設定に関するチュートリアルをたくさん読みましたが、/etc/update-motd.d はあるのに、/etc/motd ファイルも /var/run/motd ファイルもないことに気付きました。

SSH 経由で MOTD を取得できるようにこれらを設定するにはどうすればよいですか?

答え1

Ubuntu 14.04.2 LTS の基本インストールでは、必要なメッセージを次のようにドロップするだけです。

/etc/motd

デフォルトでは、MOTD は他の動的 MOTD コンテンツの最後に表示されます。たとえば、/etc/motd ファイルが追加された Vagrant ubuntu/trusty64 (v20150506.0.0) ボックスからの出力は次のとおりです。

$ vagrant ssh
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-52-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu May 14 20:06:56 UTC 2015

  System load:  0.39              Processes:           78
  Usage of /:   2.8% of 39.34GB   Users logged in:     0
  Memory usage: 24%               IP address for eth0: 10.0.2.15
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


#####################################
Howdy! This message is from /etc/motd
#####################################

Last login: Thu May 14 20:06:56 2015 from 10.0.2.2
vagrant@vagrant-ubuntu-trusty-64:~$

デフォルト設定のシステムで作業している場合は、これですべてです。


その他のトラブルシューティングに関する注意事項:

  • 「/etc/motd」の使用は、以前のバージョンからの変更です。12.02 では、「/etc/motd.tail」の使用が推奨されていました。これは 14.04.2 では機能しません。

  • 私が見た他の推奨事項には、「/etc/ssh/sshd_config」のいくつかの値を変更することが含まれています。これらが変更されている場合は、機能するデフォルトは次のとおりです。

    UsePAM yes
    PrintMotd no
    
  • /etc/pam.d/login同様に、私が参照したデフォルトは次のとおりです。

    session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate
    session    optional   pam_motd.so
    

トラブルシューティングのために参照した内容は以上です。

答え2

以下を追加してみてください:

 UsePAM yes

/etc/ssh/sshd_configこの提案に従ってバグそしてUbuntu 10.04 Server で MOTD を正しく設定できません (update-motd コマンドが見つかりません)

UsePAM を有効にすると、PAM は自動的に MOTD を更新し、ログイン時にそれを印刷します。PrintMOTD を無効にする必要があります。そうしないと、SSH もそれを印刷するため、2 回表示され、煩わしくなります。

これについてはよく分かりませんが、motd を 2 回取得する場合は、PrintMOTDno に設定する必要があります。

答え3

次の行を追加します/etc/pam.d/sshd:

session    optional   pam_motd.so  motd=/run/motd.dynamic noupdate

答え4

私の場合、スクリプトの 1 つが/etc/update-motd.d実行に失敗した (ゼロ以外の終了コードを返す) ことが原因でした。これを修正すると、MOTD が再び表示されるようになりました。

どれがどれかわからない場合は、exit 0そのディレクトリ内のすべてのスクリプトに 1 行追加するだけです。

私は Ubuntu Disco と Debian Buster を実行しているマシンでこれに気づきましたが、Ubuntu Trusty (さらには Precise) でも適用できると確信しています。

関連情報