본문 바로가기

GitHub

[GitHub] 깃 허브 ssh 키 생성 및 등록

1. SSH 공캐키 생성하기

 

1) 공개키 생성

$ ssh-keygen -t {키유형} -C "{깃허브email}"

Enter file in which to save the key(): 엔터 누르기

Enter passphrase(empty for no passphrase): 암호 입력하고 엔터 누르기

Enter same passphrase again: 방금 위에서 입력한 암호를 입력하고 엔터 누르기

완료되면 콘솔에서 파일이 생성된 경로를 확인할 수 있다.

 

 

cf) 키유형

더보기

RSA와 Ed25519는 각각 다른 공개 키 알고리즘으로, 주로 서명 및 인증을 위한 목적으로 사용됩니다. 

 

  1. 키 크기와 구조:
    • RSA: 키 크기가 상대적으로 크다. 일반적으로 2048비트나 3072비트의 키를 사용하지만, 더 큰 키도 사용될 수 있다. RSA 키는 모듈로 구성되며, 공개 키와 개인 키가 각각 따로 존재한다.
    • Ed25519: 키 크기가 작다. Ed25519의 키는 32바이트로 구성되며, 공개 키와 개인 키가 모두 포함된 구조를 가지고 있다.
  2. 알고리즘의 효율성:
    • RSA: 암호화 및 복호화 과정에서 계산량이 많다. 특히 큰 키 크기를 사용할수록 계산 속도가 느려질 수 있다.
    • Ed25519: 높은 성능을 가지며, 상대적으로 작은 키 크기로 빠른 서명 및 검증이 가능하다.
  3. 알고리즘의 보안성:
    • RSA: 안전하지만 키 크기에 따라서는 양호한 보안 수준을 유지하기 위해 큰 키 크기가 필요하다.
    • Ed25519: 작은 키 크기에도 높은 보안 수준을 제공한다. 또한, 일부 공격에 대한 강건성을 갖추고 있다.
  4. 구현 및 관리의 편의성:
    • RSA: 구현이 복잡하고 키의 크기에 따라 성능이 크게 달라질 수 있다.
    • Ed25519: 간결하고 간편한 구조로 구현 및 관리가 용이하다.
  5. 사용 사례:
    • RSA: 여전히 많은 시스템에서 널리 사용되고 있으며, 특히 키 교환 및 암호화에 활용된다.
    • Ed25519: 주로 서명 및 인증에 사용되며, 최근에는 SSH 등에서도 사용이 증가하고 있다.

종합적으로, Ed25519는 RSA에 비해 작은 키 크기와 높은 성능, 높은 보안 수준, 간편한 키 관리 등의 장점을 가지고 있어 많은 경우에 선호되고 있습니다.

 

cf) RSA, Ed25519외 공개키 알고리즘

더보기
  1. DSA (Digital Signature Algorithm):
    • DSA는 주로 이전에 많이 사용되었으나, 현재는 안전성에 대한 우려로 인해 더 이상 권장되지 않습니다.
  2. ECDSA (Elliptic Curve Digital Signature Algorithm):
    • ECDSA는 타원 곡선 암호학을 기반으로 하는 서명 알고리즘입니다. 작은 키 크기로도 높은 보안 수준을 제공합니다.
  3. EC25519 (EdDSA for Curve25519):
    • Ed25519의 타원 곡선 버전으로, 고성능 및 높은 보안성을 제공합니다. Ed25519과 EC25519은 비슷한 이름을 가지고 있지만 다른 알고리즘입니다.

이 중에서도 RSA와 Ed25519이 현재 가장 많이 사용되는 키 알고리즘 중 두 가지입니다. 최신 시스템 및 보안 규격에서는 주로 Ed25519을 권장하고 있습니다. SSH 클라이언트 및 서버는 여러 알고리즘을 지원하므로, 특정 환경이나 보안 정책에 따라 알맞은 알고리즘을 선택할 수 있습니다.

 

 

SSH 공개키의 내용을 출력하는 명령어

$ cat ~/.ssh/id_{키유형}.pub

 

 

 

SSH 공개키 복사하는 명령어 mac용

(파일의 내용이 클립보드로 복사됨)

$ pbcopy < ~/.ssh/id_{키유형}.pub

SSH 공개키 복사하는 명령어 ubuntu 명령어

(파일의 내용이 클립보드로 복사됨)

 

 

2. SSH 공개키 깃에 등록하기

1) 깃허브 오른쪽 내 프로필 클릭 -> Settings

 

2) 왼쪽 메뉴 중 SSH and GPG Keys 클릭 - New SSH key 클릭 

 

3) 키 title 과 key 입력

 

 

 

 

 

관련 에러

Warning: Permanently added the ECDSA host key for IP address '{ip주소}' to the list of known hosts. git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.