SSH 키페어를 이용해서 가상서버에 어떻게 접속하나요?를 먼저 참고하여 주시고,
미해결되었을 경우 본 매뉴얼을 확인해 주세요.
목차
A. 가상서버 접속의 일반적 원인
B. 가상서버 접속 에러별 해결 방안
B-1. Server refused our key, Permission Denied
B-2. Unprotected private key file
B-3. Remote host Identification has changed
B-4. Network error : Connection timed out
A. 가상서버 접속의 일반적 원인
가상서버 접속 오류의 빈번한 원인은 다음과 같습니다.
접속 문제가 있으실 경우 아래의 사항들이 지켜졌는지 확인해 주세요.
(1) 가상서버 OS별 계정 정보
카페24 클라우드에서 제공하는 OS별 가상서버 초기 계정은 다음과 같습니다.
OS | 계정 | 접속 방법 |
Rocky | rocky | rocky@공인IP |
Centos | centos | centos@공인IP |
Ubuntu | ubuntu | ubuntu@공인IP |
(2) 방화벽 설정
SSH 원격 접속을 하기 위해서는 가상서버에 위와 같이 INBOUND 22번 규칙이 추가되어 있어야 합니다.
자세한 방법은 가상서버에 방화벽 연결과 설정은 어떻게 하나요?를 참고해 주세요.
(2) 가상서버 상태 확인
가상서버가 "운영중"인지 확인합니다. 중지, 혹은 재부팅 중인 서버에는 접속이 불가능합니다.
B. 가상서버 접속 에러 별 해결 방안
B-1. Server refused our key, Permission Denied
Putty 접속 시 에러 메시지 : Server refused our key, No supported authentication methods available
리눅스 터미널에서 접속 시 에러 메시지 : Permission denied
위의 오류가 발생하는 이유는 아래와 같습니다.
1. 가상서버 연결 시 잘못된 계정명을 사용할 경우
해당 내용에 대해서는 OS별 초기 계정을 참고해 주세요.
2. 사용자 계정의 .ssh 디렉터리가 누락되었거나 권한 문제가 있는 경우
가상서버에 접속하여 SSH 키페어 접속에 필요한 디렉터리 및 파일의 권한을 확인합니다.
본 매뉴얼에서는 centos 계정을 예로 들어 설명합니다. "centos"에 해당하는 부분은 접속하고자 하는 계정명으로 바꿔주세요.
키페어 접속이 불가능할 경우 B-2. SSH 키페어 분실 시 대처방법을 참고하여 패스워드를 설정하여 콘솔 접속을 해주세요.
(1) 리눅스 홈 디렉터리(/home)의 권한이 "drwx r-x r-x"인지 확인합니다.
권한이 일치하지 않을 경우, 다음 명령어로 "/home"의 권한을 변경합니다.
$ sudo chmod 755 /home
(2) 사용자의 홈 디렉터리 권한이 "drwx --- ---"인지 확인합니다.
권한이 일치하지 않을 경우, 다음 명령어로 사용자의 홈 디렉터리 권한을 변경합니다
$ sudo chmod 700 /home/centos/
(3) .ssh 디렉터리 권한이 "drwx --- ---"인지 확인합니다.
권한이 일치하지 않을 경우, 다음 명령어로 사용자의 ".ssh" 디렉터리의 권한을 변경합니다.
$ sudo chmod 700 /home/centos/.ssh/
(4) 해당 계정 홈 디렉터리에 있는 authorized_keys 파일의 권한이 "-rw- --- ---"인지 확인합니다.
권한이 일치하지 않을 경우, 아닐 경우, 다음의 명령어로 권한을 바꿔줍니다.
$ chmod 600 /home/centos/.ssh/authorized_keys
3. 키페어 접속을 위한 공개키 정보가 손상된 경우
(1) authorized_keys 파일이 정상적으로 설정되어 있는지 확인합니다.
$ vi /home/centos/.ssh/authorized_keys
(2) authorized_keys 파일의 내용에 해당 가상서버의 공개키가 등록되어 있는지 확인합니다.
공개키 정보가 없을 경우 콘솔에서 제공하는 공개키를 복사하여 authorized_keys 파일에 붙여넣기 해 주세요.
가상서버의 공개키는 콘솔 > 보안 서비스 > SSH 키페어 > 가상서버에 연결된 키페어 선택으로 확인 가능합니다.
4. 가상서버에 접속하려는 사용자가 추가 혹은 삭제된 경우
접속하려는 계정 정보가 가상서버에 없는 경우 오류가 날 수 있습니다.
사용자를 추가하기 위해서는 SSH 액세스 권한이 있는 새 사용자 계정을 가상서버에 추가하려면 어떻게 해야 합니까? 를 참고해 주세요.
5. private key(.pem)파일의 .ppk 파일 변환 과정에서 오류가 있는 경우
private key (.pem) 파일이 알맞은 방법으로 .ppk 파일로 변환 되었는지 확인합니다. 해당 과정은 SSH 키페어를 이용해서 가상서버에 어떻게 접속하나요?를 참고해 주세요.
B-2. Unprotected private key file
개인키 파일의 권한이 너무 열려있어 안전하지 않을 때 발생하는 오류입니다.
보안을 위해 개인키 파일에는 다른 사용자의 읽기, 쓰기 작업을 제한해야 합니다.
해당 개인키 파일의 권한을 다음과 같이 변경해 주세요.
$ chmod 600 cafe24.pem
B-3. Remote host Identification has changed
해당 IP로 접속한 적이 있는 서버와 RSA 공개키를 교환한 상태에서
같은 IP에 대한 가상서버가 변경 되었을 때 발생하는 오류입니다.
하나의 공인 IP를 여러 서버에 번갈아 연결하여 접속 시도할 때 발생합니다.
(1) 오류 문구에서 "/home/user_name/.ssh/known_hosts" 부분을 복사하여 vi로 열어줍니다.
$ vi /home/user_name/.ssh/known_hosts
(2) "vi /home/centos/.ssh/known_hosts"와 같이 파일을 연 다음, 서버의 공인 IP를 검색합니다.
(3) "ESC"키를 누른 다음, "dd"를 입력하여 해당 문자열을 삭제합니다.
(4) "ESC"키를 누르고 "wq!"을 입력하여 파일을 저장합니다.
(5) 다시 접속을 시도합니다.
B-4. Network error : Connection timed out
Putty 접속 시 에러 화면은 다음과 같습니다.
리눅스 터미널 접속 시 에러 화면은 다음과 같습니다.
위의 에러는 해당 가상서버에 연결된 방화벽에 22번(SSH) Inbound 규칙이 추가되어 있지 않아서 발생합니다.
(2) 방화벽 설정을 참고하여 방화벽을 설정해 주세요.