SSH
서버의 모든 연결을 추적해야 합니다 . 내 것에는 /etc/hosts.allow
다음과 같은 것이 있습니다.
sshd: ALL : spawn ( echo "`date` from %u %a " >> /var/log/ssh/%d.log ) &
클라이언트 %a
IP가 기록되고 %u
사용자 이름도 기록되어야 합니다. 하지만 단지 %u
기록일 뿐입니다 unknown
. 이 문제를 해결할 방법이 있나요? 각 연결의 IP와 사용자 이름을 기록해야 합니다.
답변1
%u
클라이언트 사용자 이름은 클라이언트 컴퓨터가 실행 중일 때만 알려지며 요청 시 사용자 이름을 제공합니다 .identd
즉, tcp 래퍼는 tcpd
identd 조회를 수행하고 클라이언트 시스템에서 응답을 얻지 못한 경우 "unknown"을 반환합니다.
1990년대에는 실행이 identd
일반적인 관행이었지만 지금은 훨씬 덜 일반적이며 Windows 시스템과 같은 많은 클라이언트에는 identd 또는 유사한 프로그램도 없습니다.
즉, 클라이언트 시스템이 해당 정보를 제공하지 않기 때문에 "알 수 없음"이 표시됩니다.
그럼에도 불구하고 sshd는 모든 연결 시도를 기록해야 합니다. /var/log/auth.log, /var/log/syslog 또는 /var/log/messages를 확인하십시오(배포판 및 syslogd 구성 방법에 따라 다름).