私はsshdプロセスを初めて使用します。パスワードなしでリモートSSHログインを有効にしようとしています。公開鍵をサーバー側の~/.ssh/authorized_keysに挿入しましたが、リモートシステムの1つで動作します。しかし、他のものではありません。
動作していないリモートシステムの/etc/ssh/sshd_configで次のエントリが見つかりました。
#AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysFile /var/ssh/%u/ak
すでに.ssh/authorized_keysに公開鍵を挿入しているので、上記の内容を次のように変更してみました。
AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysFile /var/ssh/%u/ak
これにより、パスワードなしでリモートでSSHを実行できるようですが、ファイルが数時間ごとにリセットされ、SSHパスワードを再入力する必要があることがわかりました。
ここで設定ファイルに何が起こっているのかご存知ですか?
ありがとうございます!
答え1
使用できるツール
fanotify()
カーネルAPIを実装します。例えばfanotify-cmd完璧に動作します。システムファイルを編集したりログを解析したりする必要はありません。./fm -a /etc/passwd checking for events FAN_ACCESS mask: FAN_ACCESS, fd: 4, pid: 203188, file: /etc/passwd, command: bash mask: FAN_ACCESS, fd: 4, pid: 203190, file: /etc/passwd, command: mask: FAN_ACCESS, fd: 4, pid: 203321, file: /etc/passwd, command: ls --color=auto -l /etc/passwd
UbuntuとFedoraの両方には
fatrace
非常に優れた、よく管理されたユーティリティが含まれています。sudo fatrace --timestamp --filter=WD
または
auditd
システムデーモンなので、.auditdシステム設定ファイルを編集する必要があります/etc
。オンラインで使用する方法に関する多くのマニュアルがあります。スタック交換自体。inotifywait
残念ながら、このユースケースでは機能しません。これは、操作を実行したプロセスではなく、アクセスまたは変更されたファイルのみを表示するためです。