PLINK(퍼티)를 통해 Linux 서버에 자동으로 연결하는 Windows 배치 스크립트가 있습니다. 공개 키 개인 키 인증이 없으며 사용자와 비밀번호가 모두 스크립트에 있습니다.
Linux 서버에는 여러 sshd 로그 항목(/var/log/messages)이 있습니다.
sshd[7645]: Connection closed by xxx [preauth]
그러한 메시지가 나오는 이유는 무엇입니까?
"preauth"는 "사전 인증"을 의미할까요?
때로는 항목의 "closer"에 Windows 클라이언트의 IP 주소가 있고 때로는 "closer"에 Linux 서버의 IP 주소가 있는 경우도 있습니다. 메시지의 클라이언트 IP 주소와 호스트 IP 주소의 차이점을 아는 사람이 있습니까?
답변1
sshd
클라이언트가 일정 기간 동안 인증을 시도하지 않으면 옵션에 설명된 대로 서버 연결이 끊어집니다 -g
.
-g login_grace_time
Gives the grace time for clients to authenticate themselves
(default 120 seconds). If the client fails to authenticate
the user within this many seconds, the server disconnects
and exits. A value of zero indicates no limit.
따라서 로그에 이 메시지가 포함된 서버 IP가 표시되면 이 유예 시간 동안 인증 시도가 이루어지지 않았기 때문에 연결이 종료된 것입니다. 클라이언트 IP가 표시되면 사용자가 인증 시도 없이 클라이언트를 닫았거나 스크립트가 종료되었음을 의미합니다.
답변2
Host key verification failed.
제 경우에는 ssh 클라이언트에서 오류가 발생했을 때 이러한 메시지가 /var/log/secure에 나타났습니다. 이는 로그인 시도 없이 연결이 설정되는 상황 중 하나입니다.
답변3
나는 당신과 매우 유사한 문제에 직면했습니다 (비록 공개 키를 사용하고 있었지만).
내 문제(아마도 당신의 문제도 마찬가지)는 내 홈 디렉터리가 NFS 마운트이고 selinux(CentOS 7)에서 일부 오류(추적하기 어려움)가 발생했기 때문인 것으로 나타났습니다. 그러나 수정은 간단합니다.
setsebool -P use_nfs_home_dirs 1
답변4
그러한 뉴스의 또 다른 출처는 입니다 ssh-keyscan
. 서버 호스트 키만 가져오고 인증 없이 연결을 끊습니다.