Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows에서 SSH 공개 키·개인 키 생성하는 방법

Windows에서 SSH 공개 키·개인 키 생성하는 방법

Windows에서 Linux 서버를 관리해 본 경험이 있다면 PuTTY를 사용했거나 최소한 이름은 들어봤을 것입니다. PuTTY는 오랫동안 사랑받아 온 훌륭한 SSH 클라이언트입니다. 하지만 2019년부터 Windows 10에 OpenSSH 클라이언트가 기본 탑재되면서 더 이상 PuTTY가 필수가 아니게 되었습니다.

비밀번호 기반 로그인을 피해야 하는 이유

서버에서 실행되는 OpenSSH 데몬은 수년간의 사용과 보안 패치를 거치며 단단하게 다듬어졌습니다. SSH 데몬 자체의 버그 때문에 서버가 해킹당하는 일은 매우 드뭅니다. 그러나 실제 침해 사고의 상당수는 관리자가 약한 비밀번호를 사용하기 때문에 발생합니다. 문자와 숫자가 섞여 복잡해 보이는 비밀번호조차 무차별 대입(brute-force) 공격에 뚫리는 경우가 많습니다.

이때 해결책이 바로 SSH 키입니다. SSH 키는 구조 자체가 너무 복잡해서 무차별 대입 공격으로는 뚫을 수 없습니다. 가능하다면 서버의 "sshd_config" 파일에서 비밀번호 로그인을 비활성화하고 키 인증 방식으로 전환하세요. 출장 등으로 노트북을 항상 가지고 다닐 수 없다면 개인 키를 USB 메모리에 담아 열쇠고리에 함께 보관하면 됩니다. 이렇게 하면 서버 보안이 한층 강화됩니다.

SSH 공개 키·개인 키 쌍 생성하기

시작 메뉴에서 명령 프롬프트(Command Prompt)를 열고 다음을 입력합니다.

ssh -V

아래 이미지와 비슷한 결과가 출력되어야 합니다.

Windows에서 SSH 공개 키·개인 키 생성하는 방법

만약 "command not recognized(명령을 인식할 수 없음)" 오류가 표시된다면, OpenSSH 설치 안내에 따라 클라이언트를 먼저 설치하세요. 이런 문제는 오랫동안 업데이트하지 않은 구버전 Windows 10에서만 발생합니다.

공개 키와 개인 키 쌍을 생성하려면 명령 프롬프트에 다음을 입력합니다.

ssh-keygen

첫 번째 프롬프트("Enter file in which to save the key")가 나타나면 Enter 키를 눌러 기본 위치에 저장합니다.

두 번째 프롬프트("Enter passphrase (empty for no passphrase)")에서는 두 가지 선택지가 있습니다.

  • Enter 키를 눌러 암호화되지 않은 키를 생성합니다. 컴퓨터를 본인 혼자 사용한다면 이 방법으로도 안전합니다.
  • 암호(passphrase)를 직접 입력합니다. 이 경우 키가 암호화됩니다. 다른 사람과 컴퓨터를 공유한다면 암호를 설정하는 것이 좋습니다. 특히 USB 메모리에 키를 담고 다닐 계획이라면 반드시 암호를 설정하세요. 강력한 암호를 설정해 두면 USB 기기에서 키를 도난당하더라도 암호 없이는 사용할 수 없습니다.

모든 과정이 끝나면 아래 이미지와 비슷한 화면이 표시됩니다.

Windows에서 SSH 공개 키·개인 키 생성하는 방법

공개 키 열기

이름에서 알 수 있듯이 개인 키는 본인만 사용해야 하는 키입니다. 절대로 서버에 복사하거나 저장해서는 안 됩니다!

반면 공개 키는 접속하려는 서버의 "~/.ssh/authorized_keys" 파일에 저장(정확히는 해당 파일에 붙여넣거나 추가)하는 용도입니다. 키 내용을 열어서 필요한 곳에 복사·붙여넣으려면 명령 프롬프트에서 다음을 입력하세요.

notepad %userprofile%\.ssh\id_rsa.pub

요즘 대부분의 클라우드(VPS) 호스팅 업체는 웹 기반 제어판을 통해 공개 키를 손쉽게 등록할 수 있는 기능을 제공합니다. 공개 키가 연결된 상태로 서버를 생성하면 이후 개인 키로 바로 로그인할 수 있습니다. 개인 키가 기본 위치에 저장되어 있다면 서버/VPS 접속 명령은 아래처럼 아주 간단합니다.

ssh root@203.0.113.1

마무리

보시다시피 요즘은 Windows에서도 SSH 키를 아주 쉽게 생성할 수 있습니다. 사실상 ssh-keygen 명령 하나면 모든 작업이 끝납니다. 서버에 공개 키를 추가하는 절차가 어렵게 느껴진다면 사용 중인 호스팅 업체의 공식 문서를 참고하세요. 대부분의 업체는 이 과정을 상세히 안내하는 전용 페이지를 운영하고 있습니다.