Azure 가상 머신(VM)에 접속하는 방법은 크게 자격 증명 방식과 SSH 방식 두 가지가 있습니다. SSH(Secure Shell)는 암호화된 연결을 통해 호스트 머신에 원격으로 접속할 수 있는 프로토콜로, 스위치, 라우터, VMware, Linux 등 SSH 연결을 지원하는 모든 호스트에서 활용할 수 있습니다. 이 글에서는 Azure에 설치한 새로운 Ubuntu Server 18.04 LTS에 SSH 키를 생성하고 추가하는 방법을 단계별로 소개합니다.
SSH는 개인 키(private key)와 공개 키(public key) 두 개의 키로 구성됩니다. 공개 키는 Linux VM에 배치되고, 개인 키는 본인의 신원을 인증하기 위해 제시하는 용도로 사용됩니다.
전체 과정은 두 단계로 진행됩니다. 첫 번째 단계에서는 SSH 키를 생성하고, 두 번째 단계에서는 Ubuntu Server를 생성한 뒤 해당 서버에 SSH 키를 추가합니다.
1단계: SSH 키 생성
- Azure Portal에 로그인합니다.
- 화면 오른쪽 상단에서 Azure Cloud Shell을 엽니다. 처음 사용하는 경우 새 스토리지 계정을 만들고 Cloud Shell이 파일을 저장할 수 있도록 허용해야 하며, 이때 소액의 월 요금이 발생할 수 있습니다.
- 터미널이 정상적으로 연결될 때까지 기다립니다.
- ssh-keygen -t rsa -b 4096 명령어를 입력하고 Enter 키를 눌러 SSH 키를 생성합니다.
- 키를 저장할 파일 이름을 입력합니다. 여기서는 Enter 키를 눌러 기본 위치에 저장하겠습니다. 이 명령을 실행하면 ~/.ssh 디렉터리에 id_rsa(개인 키)와 id_rsa.pub(공개 키) 두 개의 파일이 생성되며, 동일한 이름의 파일이 이미 존재하면 덮어씁니다.
- 패스프레이즈(passphrase)를 입력합니다. 이 패스프레이즈는 VM에 접속할 때 인증 수단으로 사용됩니다. 출력 결과는 아래 화면과 같습니다.
- cat ~/.ssh/id_rsa.pub 명령어를 입력하고 Enter 키를 누르면 앞서 생성한 공개 키 파일의 내용을 확인할 수 있습니다. 이 키 값은 가상 머신 설정 시 필요하므로 잘 보관해 둡니다.
2단계: Ubuntu Server에 SSH 키 할당
앞선 단계에서 SSH 키를 생성했다면, 다음으로는 Azure에서 호스팅하는 Ubuntu Server에 해당 키를 추가해야 합니다. 이 작업은 기존에 운영 중인 Ubuntu Server에 적용하는 경우와 새로 생성하는 VM에 적용하는 경우 두 가지 시나리오가 있으며, 여기서는 새 가상 머신을 생성하는 절차를 기준으로 안내합니다.
- Azure Portal에 로그인합니다.
- 화면 왼쪽 메뉴에서 리소스 만들기(Create a resource)를 클릭합니다.
- Ubuntu Server 18.04 LTS를 선택합니다.
- 기본 사항(Basic) 탭에서 구독, 리소스 그룹, 가상 머신 이름, 지역, 가용성 옵션, 이미지, 가상 머신 크기 등 필요한 정보를 입력합니다. 입력을 마친 후 아래로 스크롤하여 관리자 계정(Administrator account) 섹션에서 SSH 공개 키(SSH public key)를 선택합니다.
- 사용자 이름을 입력합니다.
- SSH 공개 키 원본(SSH public key source)에서 기존 공개 키 사용(Use existing public key)을 선택합니다.
- SSH 공개 키 항목에 1단계에서 생성한 키(cat ~/.ssh/id_rsa.pub 명령으로 확인한 값)를 붙여 넣습니다.
- 인바운드 포트 선택(Select inbound ports)에서 SSH(22)를 선택합니다.
- 가상 머신의 나머지 설정을 구성한 후 검토 + 만들기(Review + create)를 클릭합니다.
- 생성된 가상 머신 페이지로 이동하여 개요(Overview)를 클릭합니다.
- 연결(Connect)을 클릭한 다음 SSH를 선택합니다. 그러면 새 창이 열리며, PuTTY 등의 SSH 클라이언트를 다운로드하거나 Azure Cloud Shell을 통해 간편하게 VM에 접속할 수 있습니다.
- 여기서는 Azure Cloud Shell을 열고 다음 명령어를 입력하여 가상 머신에 접속합니다: ssh azureuser@104.214.76.108. 여기서 azureuser는 사용자 이름이고, 104.214.76.108은 공개 IP 주소입니다.
- 새로 생성한 가상 머신에 SSH로 처음 접속하는 것이므로, 호스트 인증 확인 메시지가 나타나면 Yes를 입력하고 Enter 키를 누릅니다.
- 1단계에서 설정한 패스프레이즈를 입력하고 Enter 키를 누릅니다.
- 이제 Ubuntu Server에 성공적으로 접속된 것입니다.