標準の場所でsshdログが見つかりません。
私が試したこと:
/var/log/auth.log
にはありません/var/log/secure
にはありません'auth.log'
を検索して何も見つかりませんでした/etc/ssh/sshd_config
を明示的にSyslogFacility AUTH
とLogLevel INFO
を使用するように設定し、sshdを再起動しても、まだそれらを見つけることができません。Arch LinuxでOpenSSH 6.5p1-2を使用しています。
Sshdおよびその他のコアサービスの出力を「journalctl」で見つけました。
Systemdの詳細については、Arch Wikiエントリを参照してください。
次のコマンドを実行して、systemctlからログを表示します。
journalctl -u sshd |tail -100
ログの最後の部分を確認するより良い方法は次のとおりです。
journalctl -u sshd -n 100
tail
の出力でjournalctl
を使用すると、非常に遅くなる可能性があります。私が試したマシンでは5分かかりましたが、上記のコマンドはすぐに戻ります。
次を使用して、sshd
からのメッセージをフィルタリングできます。
journalctl -u ssh
または(ディストリビューションによって異なります)
journalctl -u sshd
ログはless
スタイルの形式で表示されます(/
を検索したり、PgUp、PgDownなどでナビゲートしたりできます)。
-e
は、ログの最後に移動します。-u
パラメータは、メタフィールド_SYSTEMD_UNIT
を通じてフィルタリングします(少なくともDebianでは)はssh.service
に設定されているため、sshd
は一致しません。-f
はリアルタイムでログを追跡します-n 100
は指定された行数を表示します(-f
で便利です)または、メタフィールドフィルタリングを使用できます。
journalctl _COMM=sshd
JSONにエクスポートすることにより、すべてのメタフィールドを持つジャーナルレコード全体を表示できます。
journalctl -u ssh -o json-pretty
それはあなたに次のようなものを与えるでしょう:
...
"_PID" : "7373",
"_COMM" : "sshd",
"_EXE" : "/usr/sbin/sshd",
"_SYSTEMD_CGROUP" : "/system.slice/ssh.service",
"_SYSTEMD_UNIT" : "ssh.service",
...
カーネルメッセージだけを表示する方法を知りたい場合:
journalctl -k -f
Syslog構成を確認します。ほとんどの問題/etc/syslog.conf
または/etc/rsyslog.conf
たとえば、私の構成でauth
の行を探す必要があります。
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog