주요 요점
- Windows 환경에서 SSH 키를 생성하는 방법은 명령 프롬프트 또는 WSL(Windows Subsystem for Linux)을 이용하는 두 가지 주요 방식이 있습니다. Windows 11의 경우 OpenSSH 클라이언트가 기본적으로 제공되어 간편하고 안전하게 키를 관리할 수 있지만, Windows 10 사용자는 선택적 기능 활성화가 필요할 수 있습니다.
- 명령 프롬프트 또는 WSL에서 ‘ssh-keygen’ 또는 ‘ssh-keygen -t ed25519’ 명령을 실행하여 키를 생성하며, 키 저장 위치 및 암호(선택 사항)를 지정할 수 있습니다.
SSH(Secure Shell) 키는 파일 전송 보안, 네트워크 연결 및 클라우드 서비스 관리에 필수적인 인증 자격 증명으로, SSH 프로토콜과 함께 사용됩니다. Windows 환경에서도 비밀번호처럼 생성하여 암호화된 보안 연결을 구축할 수 있습니다. 이제 Windows에서 SSH 키를 생성하는 방법을 알아보겠습니다.
Windows에서 SSH 키를 만드는 방법
SSH(Secure Shell Protocol)는 인터넷을 통해 컴퓨터 간에 안전한 연결을 설정하는 데 매우 효과적인 방법입니다. 사용자 이름과 비밀번호 대신 암호화된 SSH 키를 사용하여 보안을 강화하는 것이 권장됩니다.
Windows 11에는 OpenSSH 클라이언트가 기본적으로 포함되어 있어 별도의 추가 프로그램 없이도 SSH 키를 편리하게 생성할 수 있습니다. Windows 10에서도 동일한 방식으로 가능하지만, 필요에 따라 Windows 선택적 기능 설정에서 OpenSSH 클라이언트를 활성화해야 할 수 있습니다.
Windows에서 SSH 키를 생성하는 방법은 크게 명령 프롬프트와 WSL을 이용하는 두 가지로 나뉩니다. 먼저 명령 프롬프트를 사용하는 방법을 살펴보겠습니다.
Windows 터미널은 명령 프롬프트, PowerShell, WSL 등 다양한 명령줄 환경을 하나의 창에서 실행할 수 있는 통합 환경을 제공합니다. 이를 통해 SSH 키 생성 작업을 보다 편리하게 수행할 수 있습니다.
1. 명령 프롬프트를 이용한 SSH 키 생성
명령 프롬프트에서 SSH 키를 생성하려면 아래 단계를 따르세요.
- 관리자 권한으로 명령 프롬프트를 실행합니다.
- 명령 프롬프트 창에 다음 명령을 입력하고 Enter 키를 누릅니다.
ssh-keygen
- 시스템에서 키를 저장할 파일 위치를 묻습니다.
- Enter 키를 눌러 기본 위치(일반적으로 C:\Users\사용자_이름\.ssh\id_rsa)에 저장하거나, 원하는 다른 위치를 지정할 수도 있습니다.
- 키에 대한 암호를 설정할지 묻습니다. 암호 설정은 선택 사항이지만 SSH 키의 보안을 강화하는 데 도움이 됩니다. 암호를 설정하지 않으려면 Enter 키를 누릅니다.
- 암호를 설정한 경우, 암호를 다시 입력하고 Enter 키를 누릅니다. 암호를 설정하지 않은 경우 Enter 키를 다시 누릅니다.
이제 SSH 키가 생성되었고, 키의 지문과 저장 위치가 표시됩니다. 생성된 키 쌍은 지정된 저장 위치에서 확인할 수 있습니다.
RSA 키 외에도 Ed25519 키를 생성할 수도 있습니다. 명령어만 약간 다를 뿐, 나머지 과정은 RSA 키 생성과 거의 동일합니다. ‘ssh-keygen’ 대신 다음 명령어를 입력합니다.
ssh-keygen -t ed25519
이후 단계는 RSA 키 생성과 같습니다. 파일 위치를 지정하고 암호(선택 사항)를 설정하면, 시스템은 키의 지문과 위치를 표시합니다.
생성된 키 지문은 SSH 키의 고유 식별자이며, 원격 서버에 연결 시 정품 여부를 확인하는 데 사용됩니다. SSH 키를 생성하면 개인 키와 공개 키 두 개가 생성됩니다. 이 두 키는 파일 확장자로 구분할 수 있는데, 개인 키에는 확장자가 없지만 공개 키는 ‘.pub’ 확장자를 가집니다.
개인 키는 암호화 및 복호화에 사용되므로 안전하게 보관해야 합니다. 반면, 공개 키는 암호화에만 사용되며 다른 사람과 공유해도 개인 키의 보안에는 영향을 미치지 않습니다.
2. WSL을 이용한 SSH 키 생성
SSH 키를 생성하는 또 다른 방법은 WSL을 사용하는 것입니다. Windows 명령 프롬프트가 이미 있는데 왜 굳이 WSL을 사용해야 할까요?
WSL은 별도의 운영 체제를 설치하지 않고도 Windows 내에서 완전한 Linux 환경을 제공하여 Linux 명령을 실행할 수 있도록 합니다. 이는 Windows와 Linux 환경 모두를 사용하는 개발자나 시스템 관리자에게 매우 유용합니다.
WSL을 사용하는데 문제가 있다면 Windows에서 WSL 활성화 관련 가이드를 참고하십시오.
WSL을 사용하여 SSH 키를 생성하려면 다음 단계를 따르세요.
- WSL 터미널을 시작합니다.
- RSA-4096 키를 생성하려면 다음 명령어를 입력하고 Enter 키를 누릅니다.
ssh-keygen -t rsa -b 4096
- Ed25519 키를 생성하려면 아래와 같이 명령어를 수정합니다.
ssh-keygen -t ed25519
- 명령어 뒤에 이메일 주소를 추가할 수도 있습니다. 이는 여러 키를 생성할 때 각 키가 어떤 계정에 속하는지 쉽게 식별할 수 있도록 도와주는 주석과 같습니다. 예를 들어, ‘ssh-keygen -t rsa -b 4096 -C “[email protected]” 와 같이 사용할 수 있습니다.
- 키 저장 위치를 선택하거나 Enter 키를 눌러 기본 위치를 사용합니다.
- 터미널에 암호를 설정하라는 메시지가 표시됩니다. 이는 선택 사항이므로 암호 없이 진행할 수도 있습니다. 계속하려면 Enter 키를 누릅니다.
마지막으로, 생성된 SSH 키의 위치와 지문이 포함된 메시지가 표시됩니다. 이제 이 키를 사용하여 컴퓨터와 원격 서버 간의 보안 연결을 설정할 수 있습니다.
RSA 키와 Ed25519 키의 차이점
위에서 RSA와 Ed25519 두 가지 SSH 키 유형을 살펴보았습니다. 그렇다면 이 두 키 유형의 차이점은 무엇일까요?
- 알고리즘: RSA(Rivest-Shamir-Adleman)는 비대칭 암호화 방식을 사용하는 반면, Ed25519는 타원 곡선 암호화와 비대칭 암호화를 결합하여 사용합니다.
- 키 크기: RSA 키는 1024에서 4096비트 사이의 가변적인 키 크기를 가지지만, Ed25519 키는 256비트의 고정된 키 크기를 사용하여 RSA보다 더 빠르게 작동합니다.
- 보안: Ed25519는 일반적으로 더 안전하고 공격에 강한 것으로 평가받습니다.
- 성능: Ed25519는 RSA에 비해 더 빠르고 효율적인 성능을 보여줍니다.
- 호환성: RSA는 더 광범위하게 지원되지만, Ed25519의 채택률이 증가하고 있습니다.
어떤 암호화 알고리즘을 선택할지는 시스템 환경에 따라 달라질 수 있습니다. Windows 환경에서 제공되는 방법들을 활용하면 SSH 키를 쉽게 생성하고 관리할 수 있으며, 원격 시스템 접속 시 발생할 수 있는 잠재적인 보안 위협으로부터 안전하게 보호할 수 있습니다.