[Linux] 윈도우에서 리눅스 서버로 ping은 되는데 SSH가 안 될 때 - 결국 재부팅으로 해결

2026. 5. 24. 02:04·개발 (Development)/Linux

도입

서버가 살아있다는 건 확인되는데 SSH 접속만 안 되는 상황은 생각보다 자주 마주칩니다. 이번 경우엔 원인이 서버 리소스 고갈이었고, 재부팅 한 번으로 해결됐습니다. 허무한 결말이지만, 그 전에 어떤 원인들을 순서대로 확인해야 하는지 정리해두면 다음에 같은 상황이 왔을 때 훨씬 빠르게 대응할 수 있습니다.

증상

  • 윈도우에서 ping [서버IP] → 정상 응답
  • 윈도우에서 ssh user@서버IP → 연결 실패 (타임아웃 또는 무응답)

의심해볼 원인과 확인 방법

아래 순서대로 체크해보시면 대부분 원인을 찾을 수 있습니다.

1. sshd 서비스 실행 여부 확인

가장 먼저 확인해야 할 항목입니다. 서비스 자체가 꺼져 있는 경우도 의외로 많습니다.

sudo systemctl status sshd
sudo systemctl start sshd   # 꺼져 있으면 시작

2. 22번 포트 LISTEN 여부 확인

서비스가 실행 중이더라도 실제로 포트를 열고 있는지 별도로 확인합니다.

ss -tlnp | grep 22

3. 방화벽에서 22번 포트 차단 여부 확인

OS 배포판에 따라 사용하는 방화벽이 다르므로, 해당하는 명령어로 확인합니다.

# Ubuntu (ufw)
sudo ufw status

# CentOS/RHEL (firewalld)
sudo firewall-cmd --list-all

# iptables 직접 확인
sudo iptables -L -n | grep 22

4. SSH 설정 파일 확인

포트가 22가 아니거나, PasswordAuthentication no로 설정된 경우 키 인증만 허용됩니다.

cat /etc/ssh/sshd_config | grep -E "Port|PermitRootLogin|PasswordAuthentication"

5. 에러 메시지 상세 출력으로 원인 파악

-v 옵션을 사용하면 어느 단계에서 연결이 끊기는지 확인할 수 있어 원인을 빠르게 좁힐 수 있습니다.

ssh -v user@서버IP

실제 해결 방법

위 항목들을 하나씩 확인해보려 했는데, 서버를 재부팅하니 바로 해결됐습니다. 아마 CPU나 메모리가 한계치에 가까워진 상태였던 것으로 추정됩니다. sshd가 새 연결을 받을 여유 자원이 없어서 응답을 못 한 것으로 보입니다.

원리 설명

ping은 ICMP 프로토콜을 사용하며 커널 레벨에서 처리됩니다. 반면 SSH는 TCP 연결 이후 sshd 데몬이 프로세스를 fork해서 처리해야 합니다. 서버의 CPU나 메모리가 고갈된 상태라면 ICMP 응답은 가능하더라도, 새로운 프로세스를 생성할 여력이 없어 SSH가 타임아웃되는 상황이 발생할 수 있습니다.

반응형

'개발 (Development) > Linux' 카테고리의 다른 글

[Linux] Dell PowerEdge R750xs 부팅 시 PERC H755 Multibit ECC 오류 대응 기록  (0) 2026.06.07
[Linux] Bash에서 `source` 명령어 사용법 정리  (0) 2025.09.07
[Linux/Ubuntu] Ubuntu 서버 LVM 루트 디스크 용량 부족 문제 해결  (1) 2025.06.01
[Linux] 서버 Memory Swap 사용량  (1) 2025.02.17
[Linux] ll 명령어 완벽 가이드  (0) 2025.02.17
'개발 (Development)/Linux' 카테고리의 다른 글
  • [Linux] Dell PowerEdge R750xs 부팅 시 PERC H755 Multibit ECC 오류 대응 기록
  • [Linux] Bash에서 `source` 명령어 사용법 정리
  • [Linux/Ubuntu] Ubuntu 서버 LVM 루트 디스크 용량 부족 문제 해결
  • [Linux] 서버 Memory Swap 사용량
LoopThinker
LoopThinker
모르는 것을 알아가고, 아는 것을 더 깊게 파고드는 공간
  • LoopThinker
    CodeMemoir
    LoopThinker
  • 전체
    오늘
    어제
    • 분류 전체보기 (257)
      • 개발 (Development) (190)
        • Algorithm (1)
        • Angular (1)
        • AWS (7)
        • DeepSeek (2)
        • Docker (9)
        • Git (3)
        • Java (41)
        • JavaScript (4)
        • Kafka (6)
        • Kubernetes (4)
        • Linux (9)
        • PostgreSQL (41)
        • Python (40)
        • React (3)
        • TypeScript (3)
        • Vue.js (5)
        • General (11)
      • 데이터 분석 (Data Analysis) (1)
      • 알고리즘 문제 풀이 (Problem Solving.. (27)
      • 자격증 (Certifications) (24)
        • ADsP (14)
        • 정보처리기사 (4)
        • Linux Master (5)
        • SQLD (1)
      • 기술 동향 (Tech Trends) (12)
      • 기타 (Others) (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MyBatis
    JPA
    Kubernetes
    docker
    timescaledb
    AWS
    PostgreSQL
    Kafka
    백준알고리즘
    자바
    트러블슈팅
    백준
    pandas
    Linux master
    DevOps
    오답노트
    백준자바
    리눅스 마스터 2급
    javascript
    python
    JSON
    deepseek
    java
    Linux
    Vue.js
    파이썬
    데이터분석
    ADsP
    springboot
    백준온라인저지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
LoopThinker
[Linux] 윈도우에서 리눅스 서버로 ping은 되는데 SSH가 안 될 때 - 결국 재부팅으로 해결
상단으로

티스토리툴바