SSH 접속 문제 해결 가이드
💡 요약 정리
- SSH 접속 불가 문제는 대부분 sshd_config 설정과 관련이 있습니다.
- 나의서비스관리 > 방화벽관리에서 포트를 등록해도 서버 내부 sshd_config 설정은 자동으로 변경되지 않습니다.
- 주요 확인 항목:
PermitRootLogin,PasswordAuthentication,Port설정
이지업 서버호스팅에서 SSH 접속이 되지 않을 때 확인해야 할 설정과 해결 방법을 안내합니다.
1. SSH 접속이 안 되는 주요 원인
SSH 접속 불가 문제는 대부분 sshd_config 설정과 관련이 있습니다. 주요 원인은 다음과 같습니다.
| 원인 | 설명 | 해결 방법 |
|---|---|---|
PermitRootLogin no | root 계정 로그인이 차단됨 | yes로 변경 후 SSH 재시작 |
PasswordAuthentication no | 비밀번호 인증이 차단됨 | yes로 변경 또는 키 인증 설정 |
| 포트 변경 (22 → 22022 등) | 기본 포트가 아닌 다른 포트 사용 | 변경된 포트로 접속 시도 |
| 방화벽에서만 포트 오픈 | 서버 설정은 변경되지 않음 | sshd_config 직접 수정 필요 |
2. sshd_config 주요 설정 항목
SSH 설정 파일 /etc/ssh/sshd_config의 주요 항목입니다.
2.1 PermitRootLogin
root 계정으로 SSH 접속 허용 여부를 설정합니다.
| 설정값 | 설명 |
|---|---|
| yes | root 비밀번호 로그인 허용 |
| no | root 로그인 완전 차단 |
| prohibit-password | root 키 인증만 허용 (비밀번호 차단) |
2.2 PasswordAuthentication
비밀번호를 통한 SSH 인증 허용 여부를 설정합니다.
| 설정값 | 설명 |
|---|---|
| yes | 비밀번호 인증 허용 |
| no | 비밀번호 인증 차단 (키 인증만 가능) |
2.3 PubkeyAuthentication
SSH 키 인증 허용 여부를 설정합니다.
| 설정값 | 설명 |
|---|---|
| yes | SSH 키 인증 허용 |
| no | SSH 키 인증 차단 |
2.4 Port
SSH 접속 포트를 설정합니다. 기본값은 22번입니다.
Port 22 # 기본 포트
Port 22022 # 보안을 위해 변경한 예시
3. 문제 유형별 해결 방법
3.1 Connection refused 또는 접속 거부 시
확인 사항:
- SSH 서비스가 실행 중인지 확인
- 접속하려는 포트가 올바른지 확인
- 방화벽에서 해당 포트가 열려 있는지 확인
SSH 서비스 확인 명령어:
# SSH 서비스 상태 확인
systemctl status sshd
# SSH 서비스 시작
systemctl start sshd
# SSH 서비스 재시작
systemctl restart sshd
3.2 Permission denied 접속 거부 시
확인 사항:
- PermitRootLogin 설정 확인
- PasswordAuthentication 설정 확인
- 올바른 비밀번호 또는 SSH 키 사용 여부
sshd_config 수정 방법:
# 설정 파일 편집
vi /etc/ssh/sshd_config
# 아래 설정 확인 및 수정
PermitRootLogin yes
PasswordAuthentication yes
# SSH 서비스 재시작
systemctl restart sshd
3.3 포트 변경 후 접속 불가 시
확인 사항:
- sshd_config에서 Port 설정 확인
- 변경된 포트로 접속 시도
- 방화벽에서 해당 포트 오픈 여부
변경된 포트로 접속:
# 22022 포트로 SSH 접속
ssh -p 22022 root@서버IP
3.4 방화벽 설정 후에도 접속 불가 시
중요: 나의서비스관리 > 방화벽관리에서 방화벽 포트를 등록해도 서버 내부 sshd_config 설정은 자동으로 변경되지 않습니다.확인 사항:
- 방화벽 설정과 sshd_config 설정이 일치하는지 확인
- 방화벽에서 연 포트와 sshd_config의 Port 값이 동일한지 확인
4. 보안 권장사항
SSH 접속 문제 해결 후 보안을 위해 다음 사항을 권장합니다.
4.1 임시 설정 원복
문제 해결을 위해 PermitRootLogin yes로 변경한 경우:
- 접속 확인 후 다시
PermitRootLogin no로 변경하거나 PermitRootLogin prohibit-password로 설정하여 키 인증만 허용
4.2 SSH 키 인증 사용 권장
비밀번호 대신 SSH 키 인증 방식을 사용하면 보안이 강화됩니다.
# 권장 보안 설정
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
4.3 비밀번호 주기적 변경
비밀번호 인증을 사용하는 경우, 3개월마다 비밀번호를 변경하시길 권장합니다.
5. 자주 묻는 질문
Q. sshd_config를 수정할 수 없는 상황입니다. 어떻게 해야 하나요?
SSH 접속이 완전히 불가능하여 직접 수정할 수 없는 경우, 1:1 문의 게시판을 통해 요청해 주시면 담당자가 확인 후 처리해 드립니다. 문의 시 FTP 접속 정보와 root 비밀번호를 보안 내용에 기재해 주세요.
Q. 방화벽에서 22번 포트를 열었는데 왜 접속이 안 되나요?
나의서비스관리 > 방화벽관리 기능은 서버 상위에 설정되는 외부 방화벽 정책입니다. 서버 내부의 /etc/ssh/sshd_config 설정은 별도로 확인해야 합니다. 서버 내부에서 다른 포트(예: 22022)를 사용하도록 설정되어 있다면, 해당 포트로 접속해야 합니다.
Q. PermitRootLogin을 yes로 변경하면 보안에 문제가 없나요?
PermitRootLogin yes는 임시 조치로만 사용하시고, 접속 확인 후에는 키 인증 방식으로 전환하거나 PermitRootLogin prohibit-password로 변경하시길 권장합니다.
Q. 악성코드 감염 후 SSH 접속이 안 됩니다.
악성코드가 sshd_config 설정을 변경했을 수 있습니다. 1:1 문의 게시판을 통해 접수해 주시면 담당자가 서버 확인 후 SSH 설정을 복구해 드립니다. 추가로 서버관리도우미 서비스를 통해 악성코드 제거 및 보안 점검을 받으실 수 있습니다.
Q. fail2ban으로 IP가 차단되었습니다. 어떻게 해제하나요?
SSH 로그인 실패가 여러 번 발생하면 fail2ban에 의해 IP가 차단될 수 있습니다. 다른 IP에서 접속하거나, 1:1 문의 게시판을 통해 IP 차단 해제를 요청해 주세요.
문제가 해결되지 않았나요?
위 방법으로 해결되지 않는 경우, 정확한 원인 파악을 위해 아래 정보를 포함하여 1:1 문의게시판으로 문의해 주세요.
- 대상 아이디:
- 서버 IP 또는 도메인:
- 오류 메시지: (Connection refused, Permission denied 등)
- FTP/root 비밀번호: (보안 내용에 기재)