윈도우11 원격 호스트 연결을 위한 SSH Key 생성 방법

이 가이드는 Windows 10 또는 11에서 SSH Key 생성하는 방법을 설명합니다.

SSH 키는 개인키(Private Key) 및 공유키(Public Key)로 구성되며 초기 키 세트를 생성하는 방법과 여러 사이트에서 서로 다른 키를 생성하려는 경우 추가 키 세트를 생성하는 방법을 살펴 봅니다.

참고로 SSH는 암호화된 원격 접속 프로토콜이며, 서버 접속 시 비밀번호 대신 키를 제출하는 방식으로 비밀번호를 이용한 것보다 높은 수준의 보안을 적용할 수 있습니다.

Windows 10 및 Windows 11에서 SSH Key 생성하는 방법

Windows 10 버전은 2018년 4월 업데이트부터 OpenSSH 클라이언트가 내장되어 있으며, Windows 11 또한 동일한 기능이 내장되어 있습니다.

01 Windows 터미널에서 SSH Key 생성

명령 도구를 자주 사용하는 경우 Microsoft Store에서 Windows 터미널 앱을 설치하는 것이 좋습니다. Windows 11에서는 기본적으로 터미널이 설치되어 있습니다.

명령 프롬프트, PowerShell, Linux용 Windows 하위 시스템 등을 하나의 터미널 창에서 실행할 수 있는 프로그램으로 매우 유용합니다.

SSH Key 생성 위해 터미널 앱 실행.

키보드 단축키 Win + X 키를 누르고 고급 사용자 메뉴에서 터미널 을 선택합니다.

ssh-keygen 명령으로 SSH Key 생성.

다음 명령을 입력하고 Enter 키를 누르면 SSH Key가 자동으로 생성됩니다.

ssh-keygen

명령을 입력하면 키 이름을 지정하고 특정 위치에 저장하라는 메시지가 표시됩니다.

기본 값을 사용하면 다음 경로에 키가 저장됩니다.

C:\Users\USER_NAME\.ssh\
SSH Key 암호 입력.

다음으로 암호 문구를 입력하라는 메시지가 표시됩니다.

키를 안전하게 유지하려면 비밀번호를 입력하는 것이 좋습니다. 만약 암호를 원하지 않을 경우 Enter 키를 눌러 넘어갈 수 있습니다.

기본적으로 Windows 11에서 키를 생성하면 2048비트 RSA 키가 생성됩니다.

만약 다른 알고리즘을 선택하려면 다음 명령을 사용할 수도 있습니다. 예를 들어 GitHub 사이트는 Ed25519를 권장합니다.

ssh-keygen -t ed25519
id_rsa.pub 생성 완료.

SSH Key 생성 후 지정한 경로 또는 기본 경로로 이동하여 확인합니다.

“.ssh” 폴더에 파일 확장자가 없는 id_rsa 와 id_rsa.pub 라는 두 개의 파일이 존재합니다. 후자는 인증을 위해 서버에 업로드하는 키이며, 전자는 다른 사용자와 공유하지 않는 개인 키입니다.

다양한 사이트에 대한 키를 별도로 생성하려는 경우도 어렵지 않습니다.

예를 들어 GitHub 사이트는 방금 생성한 기본 키를 사용하고, Digital Ocean(Coudways)에 대한 다른 키 세트를 생성하고 싶다면 위에서 살펴본 동일한 단계를 따르지만 키를 저장할 때 id_rsa_cloudways.pub 또는 이와 유사하게 이름을 식별하기 쉽도록 지정하면 됩니다.

SSH Key는 원하는 만큼 여러 개를 생성할 수 있습니다. 그러나 키가 많을수록 관리가 필요하며, 시스템을 교체하는 등 업그레이드 할 때마다 해당 키를 다른 파일과 함께 이동해야 합니다.

02 WSL에서 SSH Key 생성

Linux용 Windows 하위 시스템(이하 WSL) 사용자인 경우 WSL에서 SSH Key 생성이 가능합니다.

원격 호스트 접속 등 작업을 WSL 환경에서 자주 사용한다면 키를 WSL에 저장하는 것이 더 좋습니다.

ssh-keygen 명령으로 SSH Key 생성.

Windows 터미널 또는 WSL 프롬프트 창을 열고 다음 명령을 입력합니다.

ssh-keygen -t rsa -b 4096

명령을 입력하면 RSA-4096 키를 생성할 수 있으며, Windows 터미널 창과 달리 RSA 키를 원하는지 Ed25519와 같은 다른 알고리즘을 원하는지 지정해주는 것이 좋습니다.

ed25519 알고리즘 적용 SSH Key 생성

예를 들어 Ed25519 알고리즘을 원하는 경우 권장되는 방법은 다음과 같습니다.

ssh-keygen -t ed25519 -C "username@email.address"

참고로 이메일 주소를 식별자로 지정해주는 것이 좋습니다. 물론 Microsoft 버전에서는 자동으로 사용자 이름과 시스템 이름을 사용하기 때문에 Windows에서는 이를 수행할 필요가 없습니다.

SSH Key 암호 입력.

이후 단계를 Windows와 매우 유사합니다. 암호가 필요한 경우 암호를 입력하고, 암호 사용을 원하지 않는 경우 Enter 키를 눌러 넘어갈 수도 있습니다.

WSL 홈 폴더에서 id_ed25519.plub SSH Key 생성 완료.

다시 한번 말하지만 다양한 사이트에 대한 여러 개의 키를 생성하려면 파일 이름 끝에 식별자를 지정하면 됩니다.

Windows 파일 탐색기에서 WSL에서 저장한 SSH Key를 확인하고 싶다면 다음 경로에서 확인할 수 있습니다.

\\wsl.localhost\WSL_NAME\home\USER_NAME\.ssh

03 PuTTY 사용하여 SSH Key 생성

PuTTY 프로그램은 오랫동안 Windows 환경에서 사용된 서버와 통신할 수 있는 프로그램입니다. 이 프로그램이 있는 경우 손쉽게 SSH Key를 생성할 수 있습니다.

PuTTY 설치 프로그램 다운로드 및 설치.

만약 PuTTY 프로그램을 사용하고 있지 않다면, 공식 홈페이지에서 다운로드하여 사용할 수 있습니다.

SSH Key 생성 위해 PuTTYgen 실행.

PuTTY 프로그램은 여러 도구와 함께 제공되며 그 중 하나가 PuTTYgen 즉, SSH Key 생성기입니다.

시작 메뉴를 열고 PuTTYgen 을 검색하여 실행합니다.

PuTTY Key Generator 키 유형 선택.

PuTTY Key Generator 프로그램이 열리면 창 하단에 다양한 유형의 키가 표시됩니다.

어떤 키를 생성해야 할지 잘 모르겠다면 “RSA” 선택 후 “Number of bits in a generated key” 입력 상자에 “4096”을 입력합니다.

또 다른 대안으로 Windows 터미널 및 WSL 단계에서 살펴본 것처럼 “EdDSA” 선택 후 드롭다운 메뉴에서 “Ed25519(255 bits)”를 선택하는 것도 하나의 방법입니다.

이제 [Generate] 버튼을 클릭하면 PuTTY Key Generator 프로그램에서 키를 생성하기 시작합니다.

PuTTY Key Generator 임의 키 생성 위해 마우스 움직임.

시스템 성능에 따라 소요 시간이 달라질 수 있으며, PuTTY 프로그램은 키 생성 중 보다 임의 값을 더 생성할 수 있도록 창 내부에서 마우스를 움직여 달라는 요청을 하게 됩니다.

따라서 마우스를 이리 저리 움직여야만 키 생성이 완료됩니다.

PuTTY Key Generator 공개 키 저장.

모든 작업이 완료되면 [Save public key] 버튼을 클릭하여 공개 키를 저장합니다.

공개 저장 경로 지정 및 파일 이름 지정 후 저장.

이전 단계에서 선택한 키 유형에 따라 id_rsa.pub 또는 id_25519.pub 라는 이름으로 원하는 위치에 저장합니다.

PuTTY Key Generator Export OpenSSH key 변환.

다음으로 개인 키를 저장합니다. 기본적으로 PuTTY는 PuTTY 클라이언트와 함께 사용할 PPK 키를 생성합니다. 그러나 OpenSSH를 원할 경우 창 상단에서 [Conversions > Export OpenSSH key]를 선택합니다.

id_rsa 또는 id_ed25519 등 확장자 없이 저장 (OpenSSH)

이때 내보내기 하려는 파일 이름은 “.pub” 확장자 없이 id_rsa 또는 id_ed25519 로 저장합니다.

마치며

PuTTY 프로그램이 이미 설치되어 있지 않다면 Windows 터미널 또는 Linux용 Windows 하위 시스템을 사용하여 간편하게 SSH Key를 생성할 수 있습니다.

다양한 사이트에 대한 여러 개의 SSH Key를 생성하는 방법은 간단합니다. 생성 단계 중에 각기 다른 이름을 지정하면 됩니다.

Leave a Comment