ssh ログイン時に実行される。たとえば
/etc/ssh/sshrc
echo "\"$USER\" has logged in to host from \"$SSH_CLIENT\" at `date +"%F %H:%M:%S"`" | mail -s "sshd login notification" root
とか書いとけば全てのssh経由のログインで通知が来る。
めったにログインされない大事なホスト等で一瞬でログインに気づきたけいときとかは役に立つ可能性がある。
Slack連携しとくとのも現実的かもしんない。
sshrcはログインするユーザのログインシェルで独立したシェル環境で実行される。
cshをログインシェルにしてリモートログインしてみたらcshで実行された。
/bin/sh
原理主義者がログインしてきたときにも対応しろってことなのかこれ。
自分だけに有効にしたいものはここに書かず、 ~/.ssh/rc を検討したほうが良いように思われる。
man 8 sshd
の LOGIN PROCESS 等を読んでおく方が良い。
ログイン時の処理に何かを挟み込むのはしばしばややこしい。
- 参考
- man 8 sshd