Telnet 접속 실패 관련

본 문서에서는 Telnet을 이용한 접속을 시도 할 때 안되는 상황 별로 해결 방법을 소개합니다. 자주 받는 질문 위주로 기록 되었습니다.

Case 1: Telnet 접속 시 바로 거절 당함 (tcp wrapper)

별것 아닌 내용이지만 tcp wrapper에 적절 한 설정을 하지 않아서 접속을 거부 당하는 경우가 있다. /etc/hosts.allow 파일에 아래와 같은 설정이 되어있는지 확인해 보자.

in.telnetd : 접속허용IP주소 또는 대역

예)
in.telnetd : 192.168.2.7, 192.168.3.

Case 2: telnet.deny에 등록 된 경우

/etc/telnet.deny라는 설정파일이 있다. 이 설정파일에 등록 된 계정이름은 텔넷 접속 할 때 거절 당하기 때문에 이 설정파일에 계정이 등록 된 것은 아닌지 확인해 보자.

Case 3: 접속 횟수 제한으로 잠긴 경우

PAM모듈 중에 pam_tally.so 라는 모듈이 있다. 로그인을 카운팅 하는 모듈로 이 모듈을 통해 로그인을 인증 할 경우 지정된 횟수를 초과하는 인증 실패가 발생하면 설정 된 내용에 따라 계정이 잠기게 된다.

먼저, 인증에 pam_tally.so 파일이 사용되는지 확인하려면 아래 파일을 열어보면 된다.

system-auth

설정 내용 중간에 pam_tally.so (또는 pam_tally2.so)가 보인다면 계정이 인증 실패 횟수 제한에 걸려 잠겨있을 수 확률이 높다. (위 예제에는 unlock_time 설정이 있기 때문에 지정 된 시간이 지나면 자동으로 잠금이 해제 되지만 이 설정이 없는 경우 완전히 잠기게 된다. 오래된 OS에서는 no_magic_root 옵션과 같이 볼 수 있다)

이 경우에는 아래 명령을 통해서 계정의 상태를 확인 해 볼 수 있는데 (pam_tally와 pam_tally2의 출력 결과는 살짝 다르다)

$ pam_tally --user tester
User tester	(501)	has 0

$ pam_tally2 --user tester
Login           Failures Latest failure     From
tester            0    

상태 확인 결과 실패 횟수로 인해 계정이 잠긴경우 아래의 명령으로 잠금을 해제 할 수 있다.

$ pam_tally --user tester --reset
$ pam_tally2 --user tester --reset