「/etc/ssh/sshd_config」は常に他のプロセスによって変更されます。

「/etc/ssh/sshd_config」は常に他のプロセスによって変更されます。

私は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残念ながら、このユースケースでは機能しません。これは、操作を実行したプロセスではなく、アクセスまたは変更されたファイルのみを表示するためです。

関連情報