SSHを介して私のLinuxシステムに誰がアクセスしているのかをどのように追跡しますか?

SSHを介して私のLinuxシステムに誰がアクセスしているのかをどのように追跡しますか?

私はUbuntu 10.04を実行しています。誰がボックスにログインしたのか、いつ、さらには - あまりにも多くの質問があるかもしれませんが - 彼らがどのコマンドを使用したかについての毎日のレポートを取得する方法はありますか?これは使用率が低い箱なので、その箱で起こる活動を確認する良い方法だと思いました。

同様に、非対話型シェル(rsyncやsshを介してリモートで単一のコマンドを実行するなど)を介してボックスの操作が完了した時期を追跡する方法はないと聞きました。これが本当ですか、それともそれを記録して追跡する方法はありますか?

答え1

ログインした人に関する情報は/var/log/auth.log(または他のディストリビューションの他のログファイル)にあります。構成に関する関連情報を抽出できる複数のログ監視プログラムがあります。通常のシステムでは、すべてのユーザー認証が記録されます。

各コマンド呼び出し(引数を除く)を記録するには、次のようにします。プロセス会計、によって提供acctパック アカウントのインストールUbuntuから。会計サブシステムが稼働している場合lastcomm完了したプロセスに関する情報を表示します。

答え2

SSHユーザーを含む現在のシステムにログインしているユーザーを使用または表示することwhoもできます。w

答え3

コンソールにコマンドを入力してlastログインしたユーザー名(ただし、ログイン後にユーザー名が変更されたかどうかは記録されません)、IP、日付、期間など、最近のログイン情報を表示することもできます。時間にログインします。

@jasonwryanはここのコメントでこのコマンドに言及しました。

答え4

この2コマンドは同じ結果を提供し、誰がログインしているかを確認するためによく使用されます。

注:22.22.22.224回ログインしましたが、まだ存在します。

last




root     pts/0        22.22.22.22    Fri Apr 23 08:36   still logged in
root     pts/0        22.22.22.22    Fri Apr 23 08:29 - 08:36  (00:06)
root     pts/0        22.22.22.22    Fri Apr 23 08:27 - 08:29  (00:02)
root     pts/0        22.22.22.22    Fri Apr 23 08:25 - 08:27  (00:01)
root     pts/0        22.22.22.22    Thu Apr 15 11:51 - 12:00  (00:09)
reboot   system boot  5.4.0-51-generic Thu Apr 15 11:50   still running

wtmp begins Thu Apr 15 11:50:06 2021

===========

grep -E "Accepted publickey" /var/log/auth.log




Apr 23 12:25:50 server sshd[59026]: Accepted publickey for root from 22.22.22.22 port 62685 ssh2: RSA SHA256:12
Apr 23 12:27:41 server sshd[59165]: Accepted publickey for root from 22.22.22.22 port 63240 ssh2: RSA SHA256:12
Apr 23 12:29:52 server sshd[60083]: Accepted publickey for root from 22.22.22.22 port 63860 ssh2: RSA SHA256:12
Apr 23 08:36:27 server sshd[63873]: Accepted publickey for root from 22.22.22.22 port 49318 ssh2: RSA SHA256:12

関連情報