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

맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

온라인 보안은 이제 선택이 아닌 필수입니다. 악의적인 공격자들의 기술이 날로 정교해지는 만큼, 이에 맞서는 보안 도구와 보호 조치도 함께 강화되어야 합니다. SSH(Secure Shell)는 공개 키와 개인 키 쌍을 활용해 데이터를 안전하게 전송할 수 있도록 해주는 암호화 프로토콜입니다.

서버에 원격으로 접속하거나 Git 호스팅 플랫폼에 보안 인증을 추가하는 등 다양한 상황에서 직접 SSH 키를 생성해야 할 수 있습니다. 접속 자격 증명은 온라인 보안의 핵심 요소가 되었으며, macOS와 터미널(Terminal) 앱만 있으면 SSH 키를 손쉽게 만들 수 있습니다. 지금부터 그 과정을 살펴보겠습니다.

ssh-keygen으로 SSH 키 생성하기

ssh-keygen 명령어 하나면 완전하고 바로 사용할 수 있는 SSH 키를 만드는 데 필요한 모든 작업을 수행할 수 있습니다. 키를 생성하는 과정에서 사용할 알고리즘, 비트 단위의 키 길이 등 다양한 옵션을 지정할 수 있습니다. 관련 개념에 대한 자세한 내용은 뒤에서 다루겠습니다.

macOS에서 SSH 키를 생성하는 순서는 다음과 같습니다.

응용 프로그램 > 유틸리티에서 터미널을 실행하거나 Spotlight 검색으로 엽니다. 그런 다음 원하는 매개변수와 함께 ssh-keygen 명령어를 입력합니다.

명령어 변형에 대해서는 이후에 설명하고, 우선 일반적인 ssh-keygen 명령어의 예시를 살펴보겠습니다.

ssh-keygen -t ecdsa -b 521

-t 뒤에는 원하는 알고리즘을, -b 뒤에는 필요한 키 길이를 입력합니다. -b를 생략하면 ssh-keygen이 선택한 키 유형의 기본 비트 수를 사용합니다. 강력한 암호화 알고리즘과 적절한 크기의 키를 조합해야 데이터를 가장 안전하게 보호할 수 있습니다.

맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

Enter 키를 눌러 생성 과정을 시작합니다. 기본 파일 저장 위치를 그대로 사용하려면 한 번 더 Enter 키를 누릅니다. 위치는 변경할 수도 있지만, 특별한 이유가 없다면 제안된 폴더에 키를 보관하는 것이 좋습니다.

맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

안내 메시지가 나타나면 암호(passphrase)를 입력합니다. 비워 둘 수도 있지만, SSH 키에는 항상 암호를 설정하는 것을 권장합니다. 본인 외에 아무도 기기에 접근하지 못한다고 해도, 추가적인 보안 계층은 언제나 환영할 만한 것입니다.

마지막으로 암호를 다시 한 번 입력하면 과정이 완료되며, 공개 키와 개인 키가 생성됩니다.

맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

macOS는 두 개의 키를 모두 ~/.ssh/ 디렉터리에 저장합니다. 하나의 파일에는 공개 SSH 키가 담겨 있고, 다른 파일에는 개인 키가 들어 있습니다. 개인 키는 절대로 다른 사람과 공유해서는 안 됩니다.

터미널 사용이 어색하다면 다양한 Mac용 SSH 클라이언트가 있으니, 자신에게 맞는 방식을 선택하면 됩니다.

SSH 키를 복사해 Git 호스팅 플랫폼 등에 등록하기

키 생성이 끝나면 터미널을 이용해 공개 키를 복사하여 배포할 수 있습니다. 이때 생성 과정에서 지정한 파일 이름도 함께 확인해 두세요. 예시에서는 macOS가 공개 SSH 키를 id_ecdsa.pub 파일에 저장했으므로, 해당 파일을 대상으로 진행하겠습니다.

공개 SSH 키를 클립보드로 복사하려면 다음 단계를 따르세요.

  1. 터미널을 실행합니다.
  2. 정확한 파일 경로와 함께 pbcopy < 명령어를 입력합니다. 예:
    pbcopy < ~/.ssh/id_ecdsa.pub
  3. Enter 키를 누르면 공개 키가 클립보드에 복사됩니다.

이후에는 필요한 곳 어디든 SSH 키를 붙여넣으면 됩니다. 배포해야 하는 것은 .pub 파일에 담긴 공개 키뿐이라는 점을 잊지 마세요. 개인 키는 오직 본인만 사용해야 합니다.

다양한 SSH 키 유형과 크기

ssh-keygen 명령어는 서로 다른 알고리즘을 사용하는 여러 종류의 키 유형과 크기를 생성할 수 있습니다. 먼저 사용하는 호스팅 플랫폼, 서비스 또는 거래 상대방이 권장하는 키 유형을 확인한 뒤 접속 자격 증명을 만드는 것이 좋습니다.

가장 널리 쓰이는 SSH 키 유형과 각각의 특징을 살펴보겠습니다.

  • RSA: 가장 폭넓게 지원되는 알고리즘으로, 많은 상황에서 확실한 선택입니다. 키는 길수록 강력하므로 2048비트 또는 4096비트 키를 생성하는 것이 좋으며, 전자는 충분하고 후자는 가장 이상적입니다.
  • ECDSA: RSA와 비슷한 수준의 보안성을 제공하면서도 더 짧은 키를 사용해 성능이 빠른 최신 알고리즘입니다. 지원되는 키 크기는 256, 384, 521비트입니다.
  • Ed25519: 주목받고 있는 신생 알고리즘으로, 기존 키 유형보다 보안과 성능이 향상되었습니다. Apple 역시 일부 기기 간 통신 등에서 이 인증 방식을 사용합니다. 256비트 길이로도 높은 수준의 보안을 제공합니다.

SSH 키를 생성할 때는 -t 명령어 뒤에 원하는 알고리즘 유형을 정확히 입력해야 합니다.

Mac에서 SSH 키 생성 시 알아두면 좋은 명령어

앞에서 ssh-keygen 명령어의 기본 구성 요소를 살펴봤지만, 상황에 따라 다른 기능이 필요할 수도 있습니다. 유용한 명령어와 용도를 정리했습니다.

  • -t: 사용할 알고리즘을 지정합니다. RSA, ECDSA, Ed25519가 대표적이고 무난한 선택입니다.
  • -b: 비트 수를 입력해 키 길이를 지정합니다. -b 명령어를 사용하기 전에 반드시 선택한 알고리즘의 요구 사항을 확인하세요. 일부 제한이 적용됩니다.
  • -p: 키의 암호(passphrase)를 변경합니다. ssh-keygen에 -p를 포함해 실행하면 터미널이 파일 위치를 요청합니다. 해당 키의 경로를 입력하고 안내에 따라 새 암호를 만들면 됩니다.
  • -f: ssh-keygen이 특정 파일 위치를 참조하도록 지정합니다.
  • -C: 키에 주석(comment)을 추가합니다. 여러 키를 구분하고 관리하는 데 유용한 방법입니다.

또한 ls 명령어를 사용하면 기본 디렉터리에 저장된 모든 SSH 키 목록을 확인할 수 있습니다.

ls -al ~/.ssh
맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

로컬에 저장된 SSH 키를 삭제하려면 터미널에서 rm 명령어를 사용하면 됩니다. 예를 들면 다음과 같습니다.

rm ~/.ssh/id_ecdsa

그리고

rm ~/.ssh/id_ecdsa.pub

마지막으로 전체 명령어 목록을 확인하려면 다음을 입력하세요. 사용 가능한 모든 옵션과 추가 정보가 표시됩니다.

man ssh-keygen
맥(Mac)에서 ssh-keygen으로 SSH 키 생성하는 방법 완벽 가이드

macOS 덕분에 SSH 키 생성은 간단합니다

macOS에서 SSH 키를 만드는 일은 아주 간단합니다. 터미널과 ssh-keygen 도구만 있으면 접속 자격 증명을 설계, 생성, 배포하는 데 필요한 모든 작업을 처리할 수 있으므로 별도의 소프트웨어가 필요 없습니다. 올바른 명령어만 입력하면 나머지는 ssh-keygen이 알아서 처리해 줍니다.

주로 사용되는 알고리즘은 RSA, ECDSA, Ed25519이며, 각 유형마다 고유한 사양과 사용 가능한 키 길이가 있습니다. 키를 생성할 때 적절한 명령어로 이런 세부 사항을 지정할 수 있고, 이후에도 터미널을 활용해 저장된 키를 복사, 수정, 삭제할 수 있습니다.

취미로든 실무든, 접속 자격 증명을 직접 생성하는 방법을 아는 것은 값진 기술입니다. 우리 삶이 온라인으로 더욱 깊이 들어갈수록 개인 데이터를 지키는 일이 중요해지며, 현명한 사람은 활용할 수 있는 모든 도구를 적극적으로 사용할 것입니다.