Linuxのログイン履歴を確認する方法|現在のログイン状況・認証ログ・失敗履歴までやさしく解説

未分類

Linuxでログイン履歴を確認したいと思っても、どのコマンドを使えばいいのか迷ってしまうことは少なくありません。

現在ログインしているユーザーを知りたいのか、過去のログイン履歴を見たいのか、失敗したログイン試行まで確認したいのかによって、見るべき場所は変わります。

しかも、Debian・Ubuntu系とRHEL・CentOS系では認証ログの保存先が異なることもあり、はじめて調べると戸惑いやすいポイントです。

この記事では、Linuxのログイン履歴を確認する基本コマンドとログの見方を、初心者の方にもわかりやすいように整理して解説します。

「いま誰がログインしているの?」「過去の履歴はどこで見るの?」「怪しい失敗ログはどう探すの?」といった疑問を、やさしくひとつずつ解消していきます。

基本だけでなく、認証ログやjournalctlまで押さえているので、読み終えるころには必要な確認方法がすっきり見えてくるはずです。

この記事でわかること

  • Linuxで現在ログインしているユーザーを確認する方法
  • last・lastlog・lastbを使ったログイン履歴の見方
  • auth.logやsecureなど認証ログの確認ポイント
  • journalctlを含めた環境別のログ確認の考え方

ログイン履歴をLinuxで確認したいときは何を見るべき?

Linuxでログイン履歴を確認したいときは、まず何を知りたいのかを整理しておくことが大切です。

というのも、現在ログインしている人を見たいのか、過去に誰が入ったのかを見たいのか、あるいは失敗したログイン試行を確認したいのかで、使うコマンドが変わるからです。

最初に全体像をつかんでおくと、あとから「どのコマンドを使えばいいの?」と迷いにくくなります。

まずは「現在ログイン中」か「過去の履歴」かを切り分ける

いちばん先に意識したいのは、今この瞬間の状態を見たいのか、過去の記録を見たいのかという違いです。

現在のログイン状況を知りたいなら、主にwhowを使います。

一方で、過去のログイン履歴を確認したいときはlastlastlog、失敗履歴ならlastbが役立ちます。

この切り分けができるだけで、確認作業はかなりスムーズになります。

よく使うコマンドを一覧で把握する

ログイン関連の確認でよく使うコマンドを、最初にざっくり整理しておきましょう。

コマンド 主な用途 確認できる内容
who 現在のログイン確認 今ログインしているユーザー
w 現在の状況を詳しく確認 ログイン中ユーザーと作業状況
last 過去の履歴確認 ログイン・ログアウト履歴
lastlog 最終ログイン確認 各ユーザーの最後のログイン日時
lastb 失敗履歴の確認 ログイン失敗の記録
journalctl 認証ログの補足確認 systemd環境の詳細ログ

最初から全部を覚えなくても大丈夫です。

現在の確認はwho・w、過去の履歴はlast系と覚えておくと、かなり扱いやすくなります。

ディストリごとのログ保存先の違いも先に知っておく

Linuxはディストリビューションによって、認証ログの見方が少し異なります。

たとえばDebianやUbuntu系では/var/log/auth.logがよく使われますが、RHELやCentOS系では/var/log/secureが使われることがあります。

さらに、systemdベースの環境ではjournalctlで確認したほうが探しやすいケースもあります。

この違いを知らないまま調べ始めると、「ログがない」「見つからない」と感じやすいので、先に押さえておくのがおすすめです。

現在ログインしているユーザーを確認する方法

「今このサーバーに誰が入っているのか」を知りたいときは、まず現在ログイン中の情報を確認します。

この場面では、シンプルに見たいならwho、もう少し詳しく見たいならwが便利です。

どちらも初心者の方でも扱いやすく、最初に覚えておくと日常の確認作業がとても楽になります。

whoコマンドでシンプルに確認する

whoは、現在ログインしているユーザーを一覧で確認したいときの基本コマンドです。

余計な情報が少なく、ぱっと見で把握しやすいのが魅力です。

who

たとえば、次のような出力になります。

user01   pts/0   2026-03-08 09:15 (192.168.1.10)
user02   pts/1   2026-03-08 09:22 (192.168.1.20)

この結果から、どのユーザーが、どの端末から、いつログインしたのかを確認できます。

サーバーの利用状況をざっくり見たいときには、まずwhoを最初の入口にするとわかりやすいです。

wコマンドで作業状況までまとめて見る

wは、現在ログインしているユーザーに加えて、何をしているのかまで見たいときに便利です。

単純な在席確認だけでなく、アイドル時間や実行中のコマンドまで見えるので、運用中の状況把握に向いています。

w

出力例は次のようなイメージです。

 10:15:02 up 5 days,  2 users,  load average: 0.12, 0.08, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user01   pts/0    192.168.1.10     09:15    2:10   0.12s  0.03s bash
user02   pts/1    192.168.1.20     09:22    0.00s  0.08s  0.02s vim

たとえば「ログインしているけれど、今は操作していないのかな」「どの作業をしているのかな」といった判断もしやすくなります。

そのため、現在の状況を少し深く見たいときはwが向いています。

出力結果の見方をやさしく整理する

コマンドの結果は、最初は少し難しく見えるかもしれません。

ですが、見るポイントは意外とシンプルです。

項目 見ればよいポイント
USER 誰がログインしているか
TTY どの端末を使っているか
FROM どこから接続しているか
LOGIN@ いつログインしたか
IDLE どれくらい操作していないか
WHAT 今どんなコマンドを使っているか

全部を細かく読み解こうとしなくても、誰が・いつ・どこから・何をしているかの4点が見えれば十分です。

まずはこの視点で確認していくと、出力への苦手意識がかなり減っていきます。

Linuxのログイン履歴を確認する方法

過去のログイン状況を調べたいときは、現在の状態を見るコマンドだけでは足りません。

その場合は、履歴を記録しているファイルをもとに表示してくれるコマンドを使います。

ここでは、特に使用頻度の高いlastlastloglastbを順番に見ていきましょう。

lastコマンドでログイン・ログアウト履歴を見る

lastは、Linuxでログイン履歴を確認するときの定番コマンドです。

過去に誰がログインし、いつログアウトしたのかを一覧で見られます。

last

出力例は次のようになります。

user01   pts/0        192.168.1.10    Sun Mar  8 09:15   still logged in
user02   pts/1        192.168.1.20    Sun Mar  8 08:40 - 09:05  (00:25)
reboot   system boot  6.8.0-xx        Sun Mar  8 08:30   still running

この結果から、ログインしたユーザー、接続元、ログイン時刻、ログアウト時刻、接続時間の目安がわかります。

また、rebootの行が出ることもあるため、再起動タイミングの確認にも役立ちます。

まず履歴を広く見たいときは、lastから始めるのが定番です。

lastlogコマンドで各ユーザーの最終ログインを確認する

lastlogは、各ユーザーが最後にいつログインしたのかを確認したいときに便利です。

履歴を全部追うというより、ユーザーごとの最終ログイン日時を知りたい場面に向いています。

lastlog

出力例は次のような形です。

Username         Port     From              Latest
root             pts/0    192.168.1.10      Sun Mar  8 09:15:00 +0900 2026
user01           pts/1    192.168.1.20      Sat Mar  7 18:20:00 +0900 2026
guest                                       **Never logged in**

とくに、休眠アカウントの洗い出しや、そのユーザーが最近使われたかを確認したいときに見やすいです。

一覧性が高いので、ユーザー数が多い環境でも状況をつかみやすくなります。

lastbコマンドで失敗したログイン試行を確認する

セキュリティ面を意識するなら、成功した履歴だけでなく、失敗したログイン試行も確認しておきたいところです。

そんなときに使うのがlastbです。

sudo lastb

出力例は次のようになります。

admin    ssh:notty    203.0.113.10    Sun Mar  8 03:14 - 03:14  (00:00)
test     ssh:notty    203.0.113.11    Sun Mar  8 03:13 - 03:13  (00:00)
root     ssh:notty    203.0.113.12    Sun Mar  8 03:12 - 03:12  (00:00)

短時間に多数の失敗が並んでいる場合は、パスワード総当たりのような不審な試行に気づくきっかけになります。

もちろん、すぐに問題と断定するのではなく、ほかの認証ログと合わせて冷静に確認することが大切です。

失敗履歴は見落としやすいですが、とても重要です。

認証ログを詳しく追いたいときの見方

「誰がログインしたか」だけでなく、「認証時に何が起きたか」まで知りたいときは、認証ログを確認します。

ここでは、テキストログとjournalの両方を押さえておくと安心です。

環境によって保存場所が違うため、自分のサーバーに合う見方を選びましょう。

Debian・Ubuntu系は/var/log/auth.logを確認する

DebianやUbuntu系では、認証関連の情報が/var/log/auth.logに記録されることがあります。

SSHログイン、sudoの利用、認証失敗などを追いたいときに役立つファイルです。

sudo less /var/log/auth.log
sudo grep 'sshd' /var/log/auth.log
sudo tail -n 50 /var/log/auth.log

たとえば、特定の時間帯の認証失敗や、SSH接続の痕跡を探したいときに使いやすいです。

テキスト形式なので、grepで絞り込みやすいのも大きなメリットです。

RHEL・CentOS系は/var/log/secureを確認する

RHELやCentOS系では、認証関連のログが/var/log/secureに保存されることがあります。

Ubuntu系だけを前提にしていると見落としやすいポイントなので、ここはしっかり覚えておきたい部分です。

sudo less /var/log/secure
sudo grep 'sshd' /var/log/secure
sudo tail -n 50 /var/log/secure

見たい内容はauth.logと近いですが、保存先が違うだけで確認方法そのものは似ています。

サーバーの種類によって「どこを見ればいいのか」が変わるため、ファイル名の違いを知っているだけで調査が早くなります

systemd環境ではjournalctlもあわせて使う

最近のLinux環境では、従来のログファイルだけでなく、systemd journalから確認したほうが見つけやすいこともあります。

そのときに使うのがjournalctlです。

journalctl
sudo journalctl -u ssh
sudo journalctl --since today
sudo journalctl | grep sshd

特定サービス単位で追いやすいので、SSHまわりの確認をしたいときにも便利です。

「auth.logが見当たらない」「ログが少ない」と感じた場合は、journal側に情報があることもあります。

そのため、今のLinuxではauth.logだけに絞らず、journalctlもセットで考えると失敗しにくいです。

ログイン履歴を確認するときによくある疑問

Linuxのログイン履歴を見ようとしたとき、コマンドを実行しても思った通りに表示されないことがあります。

ですが、多くは故障ではなく、ログの保存期間や権限、環境差によるものです。

よくあるつまずきを先に知っておくと、調査の手戻りを減らせます。

履歴が出ない・少ないのはなぜ?

lastlastlogを使っても、履歴が少なかったり、期待した内容が出ないことがあります。

これは、ログローテーションで古い履歴が別ファイルに移っていたり、保存期間が短かったりするためです。

また、環境によっては必要なログファイル自体が未作成だったり、systemd journal側に寄っていることもあります。

「何も起きていない」と決めつけず、保存場所と保存期間を疑うのがポイントです。

sudoが必要なケースはある?

あります。

とくに失敗したログイン履歴や認証ログは、一般ユーザーのままだと閲覧しにくい場合があります。

そのため、lastb/var/log/auth.log/var/log/secureの確認ではsudoが必要になることがあります。

権限エラーが出たときは、無理に進めるより、適切な権限で安全に確認することを優先しましょう。

古い履歴を深く追いたいときはどうする?

もっと古いログイン履歴を見たい場合は、ローテーション済みのファイルを確認する方法があります。

たとえば、wtmp.1のようなファイルが残っている環境なら、それを対象にして確認できることがあります。

last -f /var/log/wtmp.1

ただし、環境によってファイル名や圧縮の有無が異なるため、まずは/var/log配下の構成を確認してから進めるのが安心です。

深追いが必要なときほど、保存先を丁寧に確認する姿勢が大切になります。

Linuxのログイン履歴を安全に確認するコツ

ログイン履歴の確認は、トラブル調査や日常運用にとても役立ちます。

ただし、慌てて確認すると、必要な情報を見落としたり、逆に関係ない部分まで触ってしまうことがあります。

最後に、安全に確認するための基本的なコツを整理しておきましょう。

まずは読み取り中心で確認する

ログ確認では、基本的に読むだけの操作から始めるのがおすすめです。

lesstailgreplastのような確認中心のコマンドを使えば、状況を把握しながら不要な変更を避けられます。

初心者のうちは特に、削除や編集よりも、まず観察する意識を持つと安心です。

不審なアクセスは失敗履歴と認証ログをセットで見る

もし「見覚えのない接続があるかも」と感じたら、成功した履歴だけでなく、失敗履歴や認証ログもあわせて確認しましょう。

lastだけでは見えないことも、lastbauth.logsecurejournalctlを組み合わせると見えやすくなります。

ひとつの情報だけで判断せず、複数の記録を照らし合わせると、落ち着いて状況を整理できます。

調査時に押さえたい基本コマンドをまとめる

最後に、迷ったときに見返しやすいよう、基本コマンドをまとめておきます。

確認したいこと コマンド例
現在ログイン中のユーザー who
現在の作業状況 w
過去のログイン履歴 last
各ユーザーの最終ログイン lastlog
失敗したログイン履歴 sudo lastb
Debian/Ubuntu系の認証ログ sudo less /var/log/auth.log
RHEL/CentOS系の認証ログ sudo less /var/log/secure
systemdのログ確認 journalctl

この一覧を手元に置いておくと、調査のたびに調べ直す手間が減ります。

まずは基本の見方を押さえ、必要に応じて詳細を深掘りする流れが、いちばん実践しやすい進め方です。

まとめ

Linuxのログイン履歴を確認したいときは、現在の状況・過去の履歴・認証ログを分けて見ることが大切です。

確認したい内容に合わせてコマンドを使い分けると、必要な情報へスムーズにたどり着けます。

とくに、普段の運用ではwhowlastlastloglastbの基本セットを押さえておくと安心です。

さらに、ディストリごとの違いやsystemd環境の特徴も知っておくと、調査の精度がぐっと上がります。

この記事のポイントをまとめます。

  • 現在ログイン中のユーザー確認にはwhoが使いやすい
  • 作業状況まで見たいときはwが便利
  • 過去のログイン履歴はlastで確認しやすい
  • 各ユーザーの最終ログイン確認にはlastlogが役立つ
  • 失敗したログイン試行はlastbで把握できる
  • Debian・Ubuntu系では/var/log/auth.logを確認することがある
  • RHEL・CentOS系では/var/log/secureが確認先になることがある
  • systemd環境ではjournalctlも重要な確認手段になる
  • 履歴が少ない場合はログローテーションや保存先の違いを疑う
  • 成功履歴だけでなく失敗履歴や認証ログも合わせて見ることが大切

Linuxのログイン履歴確認は、難しそうに見えても、見方の順番がわかれば決して複雑ではありません。

まずは「今の状況を見るのか」「過去を調べるのか」を分け、そのうえで適したコマンドを使っていけば大丈夫です。

日々の運用確認はもちろん、不審なアクセスの気配に気づくきっかけにもなるので、今回紹介した基本の見方をぜひ手元の環境で少しずつ試してみてください。

タイトルとURLをコピーしました