리눅스 SSH 로그인 점검

by 조쉬 posted Jul 26, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

22 포트 점검[편집]

명령어[1]
nmap -PN 호스트주소 -p22 | grep open | wc -l
nmap -PN 호스트주소 -p22 | grep ^22 | awk '{print $2}'
실행예시 (열림)
[root@zetawiki ~]# nmap -PN en.wikipedia.org -p22 | grep open | wc -l
1
[root@zetawiki ~]# nmap -PN en.wikipedia.org -p22 | grep ^22 | awk '{print $2}'
open
실행예시 (닫힘)
[root@zetawiki ~]# nmap -PN daum.net -p22 | grep open | wc -l
0
[root@zetawiki ~]# nmap -PN daum.net -p22 | grep ^22 | awk '{print $2}'
filtered

sshd 확인[편집]

드문 경우이겠지만, 22포트가 열려 있더라도 sshd가 열고 있는 것이 아닐 수도 있으므로 sshd인지 확인

명령어
ssh -vN 호스트주소 -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
실행예시
[root@zetawiki ~]# ssh -vN en.wikipedia.org -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
Permission denied (publickey).
[root@zetawiki ~]# ssh -vN 135.79.246.80 -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
→ sshd가 LISTEN 중임. 패스워드 입력 없으므로 권한 없음
[root@zetawiki ~]# ssh -vN 135.79.246.81 -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
ssh_exchange_identification: Connection closed by remote host
→ 포트 열려 있으나, sshd가 아님
[root@zetawiki ~]# ssh -vN 135.79.246.82 -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
ssh: connect to host 135.79.246.82 port 22: Connection refused
→ 포트가 열려 있지 않음

로그인 점검[편집]

  • 패스워드를 입력하여 로그인되는지 확인
  • 대상 서버에서 OK를 출력해봄
명령어
sshpass -p패스워드 ssh -oStrictHostKeyChecking=no 아이디@호스트주소 'echo OK' 2>&1
실행예시 (로그인 성공, 패스워드 맞음)
[root@zetawiki ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.79 'echo OK' 2>&1
OK
실행예시 (로그인 실패)
[root@zetawiki ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.80 'echo OK' 2>&1
Permission denied, please try again.
→ 패스워드 맞지 않거나 다른 이유로 sshd가 거부함
[root@zetawiki ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.81 'echo OK' 2>&1
ssh_exchange_identification: Connection closed by remote host
→ 22포트 열려 있으나 sshd 아님 (프로토콜 안 맞음)
[root@zetawiki ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.82 'echo OK' 2>&1
ssh: connect to host 135.79.246.82 port 22: Connection refused
→ 22포트 닫혀 있음