Ncloud (네이버 클라우드) Linux 서버에 SSH Key를 이용해 접속하는 방법입니다

개요

리눅스 서버에 접속하는 방법은 [아이디-패스워드]로 접속하는 방법과 [SSH Key]를 이용해 접속하는 방법이 있습니다.
Ncloud (네이버 클라우드)에서는 기본으로 [아이디-패스워드]로 접속하는 방법을 제공하고 있으므로 여기서는 다른 방법인 [SSH Key]를 이용해 서버에 접속하는 방법을 정리해보게겠습니다.

테스트 서버 준비

테스트로 사용할 서버는 [Rocky Linux 8.6] 서버로 생성했습니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

SSH Key 생성

우선 Ncloud 제공하는 [아이디-패스워드] 방식으로 서버에 접속한 후, 아래의 명령으로 SSH key를 생성합니다.

~# ssh-keygen -t rsa -m pem
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

상세 설명

위의 SSH Key 생성 화면에서 몇가지를 좀 더 자세히 살펴보겠습니다.

  • Key 저장 위치 설정
    아래 스샷처럼 생성된 [SSH Key]를 어느 위치에 저장할 것인지 확인하는 단계입니다. 아무것도 입력하지 않고 Enter 키를 입력하면 기본 저장 위치인 [/root/.ssh/id_rsa]에 저장됩니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • Key 파일 암호 설정
    보안을 좀 더 강화하려면 [SSH Key]를 사용할 때 암호(passphrase)를 입력하도록 설정할 수 있습니다. 아무것도 입력하지 않으면 암호 없이 사용하게 됩니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

생성된 Key 확인

Key가 생성된 디렉토리로 이동해서 살펴보면 [id_rsa], [id_rsa.pub] 이렇게 2개의 파일이 생성된 것을 확인할 수 있습니다.

  • id_rsa: Private Key
  • id_rsa.pub: Public Key
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

Key 파일명 변경

mv 명령어를 사용해 [SSH Key] 인증에서 사용할 파일명으로 변경 합니다.

~# mv id_rsa id_rsa.pem
~# mv id_rsa.pub authorized_keys
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

Private Key 복사

위에서 생성된 [Private Key]인 [id_rsa.pem] 파일을 로컬 PC로 가져오는 방법은 크게 2가지가 있는데 편하신 방법을 사용하면 되겠습니다.

  1. 암호화 텍스트로 구성된 파일의 내용을 복사해서 로컬 PC 텍스트 편집기에 붙여넣고 새로운 파일로 저장하는 방법
  2. [WinSCP], [FileZilla] 등의 SFTP 프로그램을 이용해서 파일을 로컬 PC로 전송하는 방법

방법 1: 텍스트 복사

[id_rsa.pem] 파일은 암호화된 텍스트로 구성된 파일이므로 파일 내용을 확인해서 복사합니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 복사한 내용을 로컬 PC의 텍스트 편집기에 붙여 넣고 저장합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

방법 2: WinSCP 접속

[WinSCP]로 서버에 접속하면 처음에는 파일이나 디렉토리가 전혀 보이지 않습니다. 즉, 인증키 파일이 저장된 [.ssh] 디렉토리가 숨겨진 디렉토리이기 때문입니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 숨겨진 디렉토리를 확인하기 위해 [옵션] - [설정] 메뉴에 들어갑니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • [설정] 창에서 [패널]을 선택하면 위쪽에 [숨김 파일 표시] 옵션이 있는데 이 옵션을 체크하고 [확인] 버튼을 클릭합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

Key 전송

[숨김 파일 표시] 옵션을 체크하면 아래와 같이 [.ssh] 디렉토리를 확인할 수 있습니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • [.ssh] 디렉토리에 들어가서 [id_rsa.pem] 파일을 로컬 PC로 전송합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

PPK 파일 변환

[SSH Key] 인증으로 서버에 접속할 때 주로 사용하는 프로그램이 [PuTTY]인데, [Putty]에서는 [PEM] 파일이 아니라 [PPK]파일을 사용하기 때문에 [PEM] 파일을 [PPK]파일로 변환해야 합니다. 이럴 때 사용하는 것이 [PuTTY Key Generator] 즉, [PuTTYgen]인데, [PuTTY] 통합 설치 파일에 포함되어 있습니다.

PuTTY 설치

[PuTTYgen] 사이트에 접속해서 [PuTTY]를 다운로드 받고 설치합니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 설치가 완료되었으면 로컬 PC에서 [PuTTYgen]을 찾아서 실행합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

Key 변환

우선 위에서 로컬 PC로 전송받았던 [id_rsa.pem]을 파일을 불러오기 위해 [PuTTYgen] 화면에서 가운데에 있는 [Load] 버튼을 클릭합니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 파일 선택창에서 파일 확장자를 [All Files]로 선택 하고 [id_rsa.pem] 파일을 선택하고 [열기] 버튼을 클릭합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • [Notice] 팝업에서 [확인] 버튼을 클릭합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • [Save private key] 버튼을 눌러 PPK 파일로 변환합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • Key 파일에 암호 즉, [passphrase]가 없을 경우 경고 팝업이 뜨는데 [] 버튼을 클릭해서 다음 단계로 넘어 갑니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 파일명을 입력 후 [저장] 버튼을 클릭합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

서버 접속

이제 위에서 변환 저장한 Key 파일로 서버에 접속해보겠습니다.

PuTTY 설정

우선, [PuTTY] 프로그램을 실행합니다.

Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • [Host Name (or IP address)]에 접속할 서버의 IP를 입력합니다. 또는 [계정@서버IP] 형식으로 미리 로그인 계정을 입력해두는 방법도 있습니다. (예: 123.456.789.012 또는 root@123.456.789.012)
  • Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 좌측의 Category에서 [Conncetion] - [SSH] - [Auth] - [Credentials] 설정 메뉴에서 [Private key file for authentication] 항목에 위에서 변환 저장했던 파일을 선택하기 위해 [Browser] 버튼을 클릭합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 위에서 저장했던 test-key.PPK 파일을 선택 합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • 다음으로 아래쪽에 있는 [Open] 버튼을 클릭해서 서버에 접속합니다.
Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

서버 접속 완료

그러면 아래와 같이 비밀번호 입력 없이 [Authenticating with public key “imported-openssh-key”]라는 메시지가 나타나면서 서버에 접속됩니다.
(PuTTY 접속 설정 [Host Name]에 IP만 입력했을 경우에는 [login as]에 로그인 계정을 입력해야 합니다.)

  • Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법
  • Ncloud (네이버 클라우드) Linux 서버에 SSH Key로 접속하는 방법

참고 URL

  1. Ncloud 서버 접속 가이드
  2. Ncloud 서버 인증키 변경하는 방법
Tags: linux password