Scribble at 2023-02-15 12:04:11 Last modified: 2023-02-15 12:20:15
利用する AMI にもよると思うのだが、まず TeraTerm Pro でインスタンスにログインして気づいたことは、ec2-user のディフォールト・シェルが FreeBSD なのに sh となっていることだ。当然だが、これを csh(実は tcsh)に変更しないといけないので、su してから # chsh -s /bin/csh ec2-user とする。
次に、上記のとおりログインすると画面の半分以上を初期メッセージが埋めてしまう。こういうのもいらないから削除したい。さてしかし、ここへ初期メッセージを表示する仕組みは、Linux のユーザでもご承知のように幾つかある。だいたい常識的には、/etc/motd とか ~/.profile とか ~/.login とかに設定されている筈だというのが相場なのだが、実は FreeBSD は違うところにも設定がある。ちなみに、FreeBSD の motd は 13.0 以降のバージョンでは /etc じゃなくて /var/run/motd だ。これを /etc/motd.template から出力している。ここで、全くメッセージが必要ないという方であれば、~/.hushlogin という空のファイルを作れば、motd に何があろうと全て無視される。
なお、~/.hushlogin も作らずに /etc/motd.template を編集してシンプルなメッセージだけにしても、ログインしたときに login が前回のログイン日時を表示する。これを抑制する設定として、/etc/ssh/sshd_config に "PrintLastLog no" と記述するよう勧める記事もあるようだが、実はこれを加えると "Unsupported option PrintLastLog" というエラーが出てしまう。他の Linux のディストリビューションでも、このオプションを加えずに sshd をコンパイルしている事例があるため、注意が必要だ。