photo credit: Greg McMullin via photopin cc
こんにちは。えんぞーです。
今回も小ネタで申し訳無いですが、これからは使う人も増えると思うよねって事でSSH関連です。
最近は安いレンタルサーバーでもSSHの接続が可能な所多いですよね。
SSHって?
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。wikipediaより引用
簡単に言うと、サーバーをリモートコントロールするための技術です。
設定からファイルのコピーから何でも出来てとても便利なのですが、便利であるが故に他の人に使われたら困ります。
なので、SSHに関してはそれ相応のセキュリティ対策が必要になってきますが、それは色々な場所で書かれているのでそちらを参考にして下さい。(ごめんなさい)
ユーザーがログインしたらメールが送信されるようにする
この設定を仕込んだユーザーがログインすると、設定してあるメールに「ログインしたよ!」というメールが届きます。
ではまず設定するファイルですが、↓こちら。
$HOME/.ssh/rc
自分のホームフォルダにあるファイルですね。
殆どの場合ログイン直後はホームフォルダにいると思うので、
vi ./.ssh/rc
こういうコマンドになるかな~と思います。(vi使う場合はですけど)
このファイルに↓このような形で記入します。
echo ""$USER" has logged in from $SSH_CLIENT at `date` " | mail -s "自宅鯖 SSH LOGIN INFO" 送信したいメアド
「送信したいメアド」の部分は受信したいメアドにして下さい。文章部分も変えてOKです。
複数のユーザーがいるのであれば、ユーザー毎に設定して下さい。
これを保存し、一度ログアウトしてから再度ログインしてみます。すると、
こんな感じでメールが届きます。
ちなみに、私はGmailでフィルタ作ってラベルを付けるようにしています。
恐らく、サーバーOSで若干違いが出るのかも知れませんが私が現在使用しているサーバーでは同じ設定方法で大丈夫でした。
現在使用しているサーバー
- さくらのレンタルサーバ
:VPS(CentOS)
- エックスサーバー
(Linux:ディストリビュージョン非公開)
- 自宅サーバー(Ubuntu)
まとめ
しっかりセキュリティ対策していれば特にいらないのかも知れませんが、私の場合はもしもの場合に備えてという他に単純に自分のログイン記録が手軽に残せるのが良いかなと思って設定しています。
特に振り返る事もないのですけどね・・・・。
自分がログインしてないときにこのメールが来たときは・・・・考えたくありませんね・・・。