"리눅스 SSH 로그인 점검"의 두 판 사이의 차이

99번째 줄: 99번째 줄:
*[[nmap]]
*[[nmap]]
*[[PHP에서 SSH 로그인 점검]]
*[[PHP에서 SSH 로그인 점검]]
==주석==
<references/>


==참고 자료==
==참고 자료==

2013년 12월 20일 (금) 17:06 판

리눅스 원격서버 SSH 로그인 점검
SSH 패스워드 점검

1 22 포트 점검

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

2 sshd 확인

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

명령어
ssh -vN 호스트주소 -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
실행예시
[root@jmnote ~]# ssh -vN en.wikipedia.org -o StrictHostKeyChecking=no BatchMode=yes 2>&1 | tail -1
Permission denied (publickey).
[root@jmnote ~]# 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@jmnote ~]# 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@jmnote ~]# 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
→ 포트가 열려 있지 않음

3 로그인 점검

  • 패스워드를 입력하여 로그인되는지 확인
  • 대상 서버에서 OK를 출력해봄
명령어
sshpass -p패스워드 ssh -oStrictHostKeyChecking=no 아이디@호스트주소 'echo OK' 2>&1
실행예시 (로그인 성공, 패스워드 맞음)
[root@jmnote ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.79 'echo OK' 2>&1
OK
실행예시 (로그인 실패)
[root@jmnote ~]# sshpass -pP@ssw0rd ssh -oStrictHostKeyChecking=no root@135.79.246.80 'echo OK' 2>&1
Permission denied, please try again.
→ 패스워드 맞지 않거나 다른 이유로 sshd가 거부함
[root@jmnote ~]# 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@jmnote ~]# 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포트 닫혀 있음

4 같이 보기

5 주석

  1. -PN 옵션: 핑(ICMP)응답 없어도 무시

6 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}