ssh-keygen 명령어란?

ssh-keygen은 SSH(Secure Shell) 접속을 위한 인증 키를 생성하는 도구입니다. 이 명령어를 사용하여 공개키와 개인키 쌍을 생성할 수 있습니다. 생성된 키 쌍은 원격 서버와의 안전한 통신을 보장합니다.

사용법

ssh-keygen 명령어는 다양한 옵션과 함께 사용할 수 있으며, 기본적으로 아래와 같은 형식을 가집니다:

ssh-keygen [옵션]

기본 사용법

아무 옵션 없이 ssh-keygen을 입력해도 기본 RSA 알고리즘으로 키 쌍을 생성할 수 있습니다. 터미널에서 다음과 같은 명령어를 입력합니다:

ssh-keygen

진행 과정

  1. 저장할 파일의 위치
    • 명령어를 입력하면 저장할 키 파일의 경로를 묻습니다. 기본적으로 ~/.ssh/id_rsa에 저장됩니다. Enter 키를 눌러 기본 위치를 사용할 수 있습니다.
  2. 암호 설정
    • 이후 키를 보호하기 위한 암호를 설정할 수 있는 기회가 주어집니다. 암호 없이 진행하려면 그냥 Enter 키를 누릅니다. 암호를 설정하면 키를 사용할 때마다 입력해야 합니다.

옵션 사용

ssh-keygen은 여러 옵션을 지원하여 키 쌍을 생성하는 방식과 알고리즘을 지정할 수 있습니다. 주요 옵션은 다음과 같습니다:

  • -t : 생성할 키의 타입을 지정합니다(예: rsa, dsa, ecdsa, ed25519 등).
  • -b : 키의 비트 길이를 설정합니다. 예를 들어, -b 4096으로 4096비트 키를 생성할 수 있습니다.

예제

  1. Ed25519 키 생성:
ssh-keygen -t ed25519 -C "your_email@example.com"
  1. RSA 키 생성:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

키 쌍 사용

생성된 공개키는 서버에 추가하고, 개인키는 로컬에서 보호해야 합니다. 공개키를 서버의 ~/.ssh/authorized_keys 파일에 추가함으로써 SSH 접속을 인증할 수 있습니다.

결론

ssh-keygen 명령어는 SSH를 통한 인증을 위해 필수적인 도구로, 간편하게 키 쌍을 생성하고 관리할 수 있도록 도와줍니다1234.


ssh-keygen 사용시 유의사항

키 쌍을 생성할 때 다음과 같은 점에 유의해야 합니다:

  1. 기존 키 덮어쓰기 주의
    • 이미 같은 위치에 기존 키가 존재하는 경우, ssh-keygen은 덮어쓸지를 묻습니다. 기존 키를 덮어쓰면 그 키가 등록된 서버와의 연결이 끊어지므로 주의해야 합니다. 만약 별도의 이름으로 키를 생성하고자 한다면 -f 옵션을 사용하여 저장할 파일 이름을 지정할 수 있습니다. 예를 들어:
    ssh-keygen -f ~/.ssh/my_new_key
  2. SSH 에이전트 사용법
    • 생성된 키에 암호를 설정한 경우, 매번 암호를 입력하는 것이 번거롭다면 SSH 에이전트를 사용할 수 있습니다. SSH 에이전트를 통해 키를 메모리에 캐시하여 사용하면, 로그인 시 암호 입력을 생략할 수 있습니다. 다음과 같이 사용할 수 있습니다:
    eval $(ssh-agent -s) ssh-add ~/.ssh/id_rsa
  3. Repository에 공개키 추가
    • GitHub와 같은 리포지토리에서 SSH 키를 사용하기 위해서는 생성된 공개키를 해당 플랫폼에 등록해야 합니다. 공개키는 .pub 파일로 저장되며, 이 내용을 복사하여 GitHub 계정의 SSH Keys 세팅 화면에 붙여넣습니다.
  4. 안전한 저장
    • 개인키(private key)는 안전하게 보관해야 하며, 절대로 공개되지 않아야 합니다. 만약 개인키가 유출된다면, 해당 키와 연결된 시스템에 대한 보안이 위협받게 됩니다

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *