web-dev-qa-db-ja.com

sshdログはどこにありますか?

標準の場所でsshdログが見つかりません。

私が試したこと:

  • /var/log/auth.logにはありません
  • /var/log/secureにはありません
  • システムが'auth.log'を検索して何も見つかりませんでした
  • /etc/ssh/sshd_configを明示的にSyslogFacility AUTHLogLevel INFOを使用するように設定し、sshdを再起動しても、まだそれらを見つけることができません。

Arch LinuxでOpenSSH 6.5p1-2を使用しています。

62
HXCaine

Sshdおよびその他のコアサービスの出力を「journalctl」で見つけました。

Systemdの詳細については、Arch Wikiエントリを参照してください。

https://wiki.archlinux.org/index.php/systemd#Journal

12
HXCaine

次のコマンドを実行して、systemctlからログを表示します。

journalctl -u sshd |tail -100
58
smooth

ログの最後の部分を確認するより良い方法は次のとおりです。

journalctl -u sshd -n 100

tailの出力でjournalctlを使用すると、非常に遅くなる可能性があります。私が試したマシンでは5分かかりましたが、上記のコマンドはすぐに戻ります。

29
eMBee

次を使用して、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
9
Tombart

Syslog構成を確認します。ほとんどの問題/etc/syslog.confまたは/etc/rsyslog.confたとえば、私の構成でauthの行を探す必要があります。

auth,authpriv.* /var/log/auth.log

*.*;auth,authpriv.none -/var/log/syslog

1
b13n1u