클라우드 서버를 처음 만지는 분들이 가장 먼저 막히는 부분이 무엇일까 생각해 보았습니다. 딱 떠올랐던 것은 바로 "어떻게 서버에 접속하지?"입니다. 요즘은 보안상의 이유로 SSH 키라는 걸 사용하는 게 기본이 되었어요. 처음 들으면 SSH 키가 뭔지도 모르겠고, 공개키니 개인키니 하는 용어들도 어렵게 느껴집니다. 저도 처음엔 그랬어요. 근데 한 번 제대로 이해하고 나면, "아 이게 비밀번호보다 훨씬 안전하고 편하구나"라는 걸 알게 됩니다. 어려운 용어 없이 최대한 쉽게 풀어써보았습니다. SSH 키가 뭔지부터 시작해서, 직접 키를 만들고, 그걸 클라우드 서버에 등록해서 접속하는 방법까지 차근차근 설명해드릴게요.
SSH 키란 무엇인가요?
SSH 키는 Secure Shell Key의 줄임말로, 서버에 안전하게 접속하기 위한 암호화된 인증 수단입니다. 일반적으로 사용자명과 비밀번호로 접속하는 방식보다 보안성이 훨씬 뛰어나기 때문에, 대부분의 클라우드 서비스에서는 SSH 키 방식의 접속을 기본 또는 권장 설정으로 채택하고 있습니다. SSH 키는 공개키(public key)와 개인키(private key)로 이루어진 쌍으로 구성됩니다. 사용자는 자신의 컴퓨터에서 개인키를 보관하고, 서버에는 공개키만 등록해둡니다. 이 둘이 일치해야만 접속이 가능해지므로, 누군가가 서버의 주소나 사용자명, 비밀번호를 알아도 개인키가 없다면 접근할 수 없습니다. 이러한 방식은 특히 패스워드 탈취나 무작위 공격(브루트 포스 공격)에 매우 강한 보안을 제공합니다. 게다가 SSH 키는 자동화된 스크립트에서도 사용될 수 있어 서버 관리나 배포 자동화 등에서도 널리 활용됩니다. 초보자는 이 원리를 간단히 이해하고, “내 컴퓨터에서 만든 키 쌍 중 공개키는 서버에, 개인키는 나만 가지고 있어야 한다”는 개념만 기억하면 충분합니다.
SSH 키 생성 및 저장하는 방법
SSH 키를 생성하는 방법은 운영체제에 따라 약간 다르지만, 대부분의 경우 터미널(명령줄)을 사용합니다. 대표적인 명령어는 다음과 같습니다:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
위 명령어를 입력하면 키 파일의 저장 위치를 묻게 되며, 기본 경로인 ~/.ssh/id_rsa를 그대로 사용하는 것이 일반적입니다. 이후에는 개인키(id_rsa)와 공개키(id_rsa.pub) 두 파일이 생성됩니다. 공개키는 .pub 확장자가 붙은 파일이며, 이 키를 클라우드 서버에 등록합니다. 예를 들어 AWS EC2, Google Cloud, Azure, 네이버 클라우드 등에서는 인스턴스를 생성할 때 공개키를 입력하거나, 생성 후 SSH 설정을 통해 등록할 수 있는 옵션이 제공됩니다. 중요한 점은 절대로 개인키 파일(id_rsa)을 외부에 유출하거나 백업 없이 지우지 않는 것입니다. 개인키는 서버 접속의 열쇠와 같기 때문에, 이를 분실하면 다시 서버에 접근할 수 없게 될 수 있습니다. 따라서 개인키는 안전한 위치에 보관하고, Git 등의 저장소에 업로드하지 않도록 주의해야 합니다. 윈도우 사용자는 Putty 등의 SSH 클라이언트를 사용하거나, Windows 10 이후부터는 기본 터미널에서도 위 명령어를 활용할 수 있어 한층 더 쉬워졌습니다.
클라우드 서버에 SSH 키 적용하기
SSH 키를 만든 후에는 클라우드 서버에 등록하여 사용할 수 있습니다. 클라우드 플랫폼마다 절차는 약간 다르지만, 기본 개념은 동일합니다. 가장 많이 사용되는 AWS EC2를 기준으로 설명하자면, 인스턴스를 생성할 때 "키 페어 선택" 단계에서 새 키 페어를 생성하거나 기존 키를 사용할 수 있습니다. 이때 생성된 공개키가 서버의 ~/.ssh/authorized_keys 파일에 저장됩니다. 만약 수동으로 SSH 키를 등록하고 싶다면, 다음 단계를 따릅니다:
- 서버에 임시로 비밀번호 접속하거나, 콘솔로 접근
 ~/.ssh/authorized_keys파일을 생성하거나 편집- 자신의 공개키 내용을 붙여넣기
 - 파일 권한을 
chmod 600으로 설정 
이렇게 설정하면, 개인키를 가지고 있는 컴퓨터에서만 해당 서버에 접속할 수 있습니다. 접속 명령어는 다음과 같습니다:
ssh -i ~/.ssh/id_rsa username@server_ip
여기서 -i 옵션 뒤에 개인키 경로를 지정하고, username@server_ip 형식으로 대상 서버를 지정합니다. 이 과정을 완료하면, 비밀번호 없이도 안전하게 서버에 접속할 수 있습니다. 초보자라면 처음엔 어렵게 느껴질 수 있으나, 몇 번만 연습하면 금방 익숙해집니다. 대부분의 클라우드 제공업체는 SSH 접속을 위한 문서를 잘 제공하므로, 해당 가이드를 참고하면 더욱 수월하게 설정할 수 있습니다.
SSH 키를 이용한 클라우드 접속은 보안을 강화하는 동시에 효율적인 서버 관리를 가능하게 합니다. 처음엔 공개키, 개인키 하는 개념들이 조금 헷갈릴 수 있는데 막상해보면 오히려 더 괜찮아 질 것 입니다. SSH 키로 서버에 접속하는 습관을 들여보시는 것을 추천드립니다.