"/etc/ssh/sshd_config"는 항상 다른 프로세스에 의해 수정됩니다.

"/etc/ssh/sshd_config"는 항상 다른 프로세스에 의해 수정됩니다.

저는 sshd 프로세스를 처음 사용합니다. 비밀번호 없이 원격 SSH 로그인을 활성화하려고 합니다. 공개 키를 서버 측의 ~/.ssh/authorized_keys에 삽입했는데 원격 시스템 중 하나에서 작동합니다. 하지만 다른 하나는 아닙니다.

작동하지 않는 원격 시스템의 /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불행하게도 이 사용 사례에서는 작동하지 않습니다. 작업을 수행한 프로세스가 아니라 액세스되거나 수정되는 파일만 표시하기 때문입니다.

관련 정보