Hosts.allow: %u가 작동하지 않습니다(사용자 이름 로깅 중).

Hosts.allow: %u가 작동하지 않습니다(사용자 이름 로깅 중).

SSH서버의 모든 연결을 추적해야 합니다 . 내 것에는 /etc/hosts.allow다음과 같은 것이 있습니다.

sshd: ALL : spawn ( echo "`date` from %u %a " >> /var/log/ssh/%d.log ) &

클라이언트 %aIP가 기록되고 %u사용자 이름도 기록되어야 합니다. 하지만 단지 %u기록일 뿐입니다 unknown. 이 문제를 해결할 방법이 있나요? 각 연결의 IP와 사용자 이름을 기록해야 합니다.

답변1

%u클라이언트 사용자 이름은 클라이언트 컴퓨터가 실행 중일 때만 알려지며 요청 시 사용자 이름을 제공합니다 .identd

즉, tcp 래퍼는 tcpdidentd 조회를 수행하고 클라이언트 시스템에서 응답을 얻지 못한 경우 "unknown"을 반환합니다.

1990년대에는 실행이 identd일반적인 관행이었지만 지금은 훨씬 덜 일반적이며 Windows 시스템과 같은 많은 클라이언트에는 identd 또는 유사한 프로그램도 없습니다.

즉, 클라이언트 시스템이 해당 정보를 제공하지 않기 때문에 "알 수 없음"이 표시됩니다.

그럼에도 불구하고 sshd는 모든 연결 시도를 기록해야 합니다. /var/log/auth.log, /var/log/syslog 또는 /var/log/messages를 확인하십시오(배포판 및 syslogd 구성 방법에 따라 다름).

관련 정보