오라클 클라우드에서 영구적으로 무료로 사용할 수 있는 프리티어 서비스를 제공한다는 소문을 듣고 얼른 서비스 가입을 했다.
다만… 가입 도중에 SMS 인증코드를 받아 입력하는 단계가 있는데 2일 정도 계속 시도를 해도 SMS가 오지를 않았다. 이유는 알 수 없지만.. 3일차에 드디어 SMS 인증코드가 정상적으로 발송되어 무료 프리티어 사용이 가능했다.
그런데… 오라클 클라우드는 콘솔에서 VM 인스턴스를 생성하면 처음에는 ID/비밀번호를 통한 SSH 접속이 지원되지 않는다. 다음화면과 같이 반드시 SSH Key 접속을 위한 설정을 해주어야 한다.
그런데… 수동으로 생성한 Open SSH 타입의 공개키를 업로드하거나 붙여넣기 하지 않고 “SSH 키 쌍 생성”을 선택하고 전용키(개인키)와 공용키를 내려 받아 XSHELL 또는 Putty에서 사용하기 위해 개인키(전용키)의 Import를 시도하면 에러가 발생하면서인식이 되지 않는다.
XSHELL 에서 다음과 같이 개인키 파일을 선택하여 “가져오기(I)…”를 시도하면…
다음과 같이 에러가 발생한다.
혹시나 싶어 Windows 10에 기본적으로 내장되어 있는 ssh 명령으로 다운로드 받은 개인키 파일을 지정하여 접속을 시도해 보니 다음과 같이 또 다른 오류가 발생한다. 이번에는 권한관련 에러다.
ssh -i e:\ssh-key-2020-11-13.key ubuntu@193.XXX.XXX.42
에러 메시지를 보면 개인키가 저장된 .key 파일에 과도한 접근 권한이 설정되어 있다는 에러와 개인키 파일은 다른 사용자가 접근하지 못하도록 설정해야 하며 그래서 이 키 파일은 무시된다. 즉 인식되지 않는다는 메시지가 출력된다.
이 문제는 개인키 파일은 .key 파일의 권한을 다음과 같이 설정하니 해결되었다. 먼저 다운로드 받은 파일의 “속성(R)” 메뉴를 실행한다.
“속상” 창이 실행되면 “보안”탭의 “고급” 메뉴를 실행하여 다음과 같이 권한을 설정해준다.
“사용 권한” 탭을 보면 “Everyone” 관련 권한이 지정되어 있는데 이 Everyone 권한을 삭제하고 아래쪽의 “추가(D)” 버튼을 클릭하고 실행되는 화면에서 “보안 주체 선택” 링크를 클릭하고 “선택할 개체 이름”을 입력한 뒤 “이름 확인(C)”를 클릭하여 계정을 찾아 등록하여 준다.
그리고 설정을 저장한 뒤 다시 SSH 명령을 실행하면 다음과 같이 로그인이 잘 된다.
이렇게 접속한 뒤 ID/비밀번호로 로그인 하도록 /etc/ssh/sshd_config 파일에서 PasswordAuthentication 옵션을 yes 로 변경한 뒤 sshd 서비스를 재구동 하고 접속하고자 하는 계정의 비밀번호를 한번 변경해주면 SSH 키가 아닌 ID/비밀번호로 로그인이 가능해진다.
만약 SSH Key 접속을 하고자 한다면 XShell 이나 Putty의 키 쌍 생성 기능을 이용해 키를 만든 뒤 접속하고자 하는 계정의 홈디렉토리 하위에 있는 .ssh 디렉토리의 authorized_key 파일에 공개키를 저장한 뒤 SSH 접속도구에 개인키를 등록하여 접속을 시도해 볼 수 있겠다.