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