ルートにログインするためのIPアドレスをどのように決定しますか?

ルートにログインするためのIPアドレスをどのように決定しますか?

私が担当する特定の仮想マシンへの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

関連情報