私が担当する特定の仮想マシンへのrootアクセス権を持つ人が複数います。ルートとしてログインするために使用するIPアドレスを知りたいです。
答え1
last
この情報は、次のコマンドを使用して取得できます。
# last|head
phemmer ssh 192.168.0.24 Wed Aug 20 21:08 - 21:08 (00:00)
phemmer pts/13 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:07 - 23:07 (00:00)
phemmer pts/15 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer ssh 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer :0 Wed Jul 30 20:06 still logged in
reboot system boot 3.13.2-gentoo Wed Jul 30 20:05 still running
もちろん、3番目の列にはSSHログイン用のリモートIPアドレスが表示されます。
last
ファイルを使用するので、/var/log/wtmp
この方法はG-Manの答えと似ています(ファイルパスを指定する必要がないので少し簡単です)。
答え2
これはディストリビューションやオペレーティングシステムによって異なります。sshd
各ログインはどこかに記録され、次の形式でログインに接続されているIPアドレスが含まれています。
Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297
この部分は一貫していますが、そこまで行く方法は異なる場合があります。システムベースsystemd
、使用journalctl
:
journalctl /usr/bin/sshd
sshd
実行可能ファイルのすべてのログメッセージを一覧表示します。 grepを使用すると、ルートログインやその他の基準を見つけて--since
日付ごとに制限できます--until
(参考資料を参照man journalctl
)。
または、歴史的にメッセージは(通常は)に記録されます/var/log
。通常、sshd
メッセージはに記録されますが、/var/log/auth.log
正確なファイルは大きく異なる場合があります。それが何であれ:
grep sshd /var/log/auth.log
journalctl
そのバージョンとほぼ同じ出力を提供します。
答え3
注文する
who /var/log/wtmp
who
表示されているのと同じ情報を表示する必要がありますが、時間をさかのぼります。
答え4
簡単に説明した内容で見ると、ログ監視システムを設定しておくと良いでしょう。ログインの監視、通知の生成、数日間のデータの比較、チャートの作成に役立ちます。
ただし、モニタリングが必要な場合一時的にlast
、コマンドを使用できます。
last | grep root | grep -v tty | awk '{print $3}'
IPs
これにより、ログインまたはログインした root ユーザーのリストが表示されますHostnames
。