SSH接続ログの見方|不正アクセス調査と障害解析の基本

目次
SSHログを読み解いて接続トラブルや不正アクセスを調査しよう
Linuxサーバを運用していると、「SSH接続できない」「誰かがログインした形跡がある」「認証に失敗している原因が分からない」といった場面に遭遇します。
そのようなときに最も重要になるのがSSHログです。
SSHログには接続元IPアドレス、ログイン成功・失敗、公開鍵認証の状況、切断理由など、多くの情報が記録されています。
実務ではSSHログを確認することで、不正アクセスの兆候発見や接続障害の原因調査を行います。
本記事ではLinux環境におけるSSHログの確認方法や、実務でよく見るログの意味について詳しく解説します。
SSHログとは
SSHログとは、OpenSSHサーバ(sshd)が出力するログです。
主に以下の情報が記録されます。
- 接続開始
- 接続元IPアドレス
- 認証成功
- 認証失敗
- 公開鍵認証状況
- 接続切断
- 設定エラー
Linuxサーバの運用では最も重要なログの一つです。
SSHログの保存場所
Linuxディストリビューションによって保存場所が異なります。
AlmaLinux・Rocky Linux・RHEL
/var/log/secureUbuntu・Debian
/var/log/auth.log最近のLinuxではsystemd-journaldを利用しているため、journalctlで確認することも多くなっています。
journalctlで確認する
現在のLinuxでは以下のコマンドが最も利用されます。
# journalctl -u sshd
Ubuntuの場合は次になります。
$ sudo journalctl -u sshリアルタイム監視する
接続テストを行う場合はリアルタイム表示が便利です。
# journalctl -fu sshd接続や認証の状況を即座に確認できます。
障害調査で頻繁に利用します。
ログイン成功時のログ
正常にログインできた場合は次のようなログが出力されます。
Accepted password for student from 192.168.60.10 port 53000 ssh2意味は以下の通りです。
- Accepted = 認証成功
- student = ログインユーザー
- 192.168.60.10 = 接続元IP
- 53000 = 接続元ポート
誰がどこから接続したのか確認できます。
公開鍵認証成功ログ
公開鍵認証の場合は以下のようになります。
Accepted publickey for student from 192.168.60.10publickeyと表示されていることがポイントです。
パスワード認証ではありません。
認証失敗ログ
パスワードを間違えた場合です。
Failed password for student from 192.168.60.10認証に失敗していることが分かります。
利用者の入力ミスでよく見られます。
存在しないユーザーへの接続
攻撃者による総当たり攻撃では頻繁に発生します。
Failed password for invalid user admin
adminというユーザーが存在しないことを示しています。
インターネット公開サーバでは毎日のように記録されます。
不正アクセス調査で確認するポイント
まず以下を確認します。
- Accepted password
- Accepted publickey
- Failed password
- invalid user
特にAcceptedは実際にログイン成功しているため重要です。
接続元IPを調べる
ログから接続元IPを抽出できます。
# grep "Accepted" /var/log/secure
または
# journalctl -u sshd | grep Accepted監査対応でもよく利用されます。
失敗ログだけ確認する
# grep "Failed" /var/log/secure認証失敗だけ確認できます。
攻撃の有無を確認する際に便利です。
総当たり攻撃のログ例
インターネット公開サーバでは以下のようなログが大量に出力されます。
Failed password for root
Failed password for admin
Failed password for oracle
Failed password for testこれは自動攻撃ツールによるものです。
珍しいことではありません。
SSH接続できない場合のログ確認
接続できない場合はまずリアルタイム監視します。
# journalctl -fu sshdそして別端末から接続を試みます。
ログが出力されるか確認しましょう。
- ログが出る → 認証問題の可能性
- ログが出ない → 通信問題の可能性
切り分けに非常に有効です。
公開鍵認証のトラブル確認
公開鍵認証失敗時には以下のようなログが出る場合があります。
# Authentication refused: bad ownership or modes主な原因です。
- .ssh権限異常
- authorized_keys権限異常
- 所有者設定ミス
SSHではよくあるトラブルです。
SSH設定エラーの確認
sshd_configに問題がある場合です。
error: Bad configuration option設定ミスを示しています。
設定変更後は必ず以下を実行しましょう。
# sshd -t構文チェックが可能です。
過去のログイン履歴を確認する
lastコマンドを利用します。
# last
例です。
student pts/0 192.168.60.10過去のログイン履歴を確認できます。
ログイン失敗履歴を確認する
lastbコマンドを利用します。
# lastb失敗したログイン履歴を確認できます。
不正アクセス調査で役立ちます。
ログ量が多い場合の確認方法
特定ユーザーで絞り込めます。
# grep student /var/log/secure
特定IPでも確認できます。
# grep 192.168.60.10 /var/log/secure効率的な調査が可能になります。
実務での監査ポイント
企業環境では以下を定期確認することがあります。
- rootログイン有無
- 深夜ログイン
- 海外IPからの接続
- 大量の認証失敗
- 退職者アカウント利用
セキュリティ監査でも重要な確認項目です。
SSHログから分かること
SSHログを見ることで以下を確認できます。
- 誰がログインしたか
- どこから接続したか
- いつ接続したか
- 認証方法は何か
- 失敗理由は何か
そのため障害対応や監査対応で非常に重要です。
まとめ
SSHログはLinuxサーバ管理において最も重要なログの一つです。
認証成功・失敗、不正アクセス、接続トラブルなど多くの情報が記録されており、障害調査や監査対応で欠かせません。
まずはjournalctl -u sshdやjournalctl -fu sshdを使いこなせるようになることが重要です。
SSH接続トラブルが発生した際は、必ずログを確認する習慣を身につけましょう。






