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는 각각 다른 공개 키 알고리즘으로, 주로 서명 및 인증을 위한 목적으로 사용됩니다.
- 키 크기와 구조:
- RSA: 키 크기가 상대적으로 크다. 일반적으로 2048비트나 3072비트의 키를 사용하지만, 더 큰 키도 사용될 수 있다. RSA 키는 모듈로 구성되며, 공개 키와 개인 키가 각각 따로 존재한다.
- Ed25519: 키 크기가 작다. Ed25519의 키는 32바이트로 구성되며, 공개 키와 개인 키가 모두 포함된 구조를 가지고 있다.
- 알고리즘의 효율성:
- RSA: 암호화 및 복호화 과정에서 계산량이 많다. 특히 큰 키 크기를 사용할수록 계산 속도가 느려질 수 있다.
- Ed25519: 높은 성능을 가지며, 상대적으로 작은 키 크기로 빠른 서명 및 검증이 가능하다.
- 알고리즘의 보안성:
- RSA: 안전하지만 키 크기에 따라서는 양호한 보안 수준을 유지하기 위해 큰 키 크기가 필요하다.
- Ed25519: 작은 키 크기에도 높은 보안 수준을 제공한다. 또한, 일부 공격에 대한 강건성을 갖추고 있다.
- 구현 및 관리의 편의성:
- RSA: 구현이 복잡하고 키의 크기에 따라 성능이 크게 달라질 수 있다.
- Ed25519: 간결하고 간편한 구조로 구현 및 관리가 용이하다.
- 사용 사례:
- RSA: 여전히 많은 시스템에서 널리 사용되고 있으며, 특히 키 교환 및 암호화에 활용된다.
- Ed25519: 주로 서명 및 인증에 사용되며, 최근에는 SSH 등에서도 사용이 증가하고 있다.
종합적으로, Ed25519는 RSA에 비해 작은 키 크기와 높은 성능, 높은 보안 수준, 간편한 키 관리 등의 장점을 가지고 있어 많은 경우에 선호되고 있습니다.
cf) RSA, Ed25519외 공개키 알고리즘
- DSA (Digital Signature Algorithm):
- DSA는 주로 이전에 많이 사용되었으나, 현재는 안전성에 대한 우려로 인해 더 이상 권장되지 않습니다.
- ECDSA (Elliptic Curve Digital Signature Algorithm):
- ECDSA는 타원 곡선 암호학을 기반으로 하는 서명 알고리즘입니다. 작은 키 크기로도 높은 보안 수준을 제공합니다.
- 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.
'GitHub' 카테고리의 다른 글
[GitHub] 템플릿(Template) 리포지토리 만들기 (0) | 2024.03.15 |
---|---|
[GitHub] 2차 인증 Verify your two-factor authentication(2FA) settings (2) | 2024.01.19 |
[GitHub] 사용자 등록 (0) | 2023.11.15 |
[GitHub] 하나의 Repository에 여러개 프로젝트 (0) | 2023.06.08 |
깃 허브(Git Hub) 명령어 (0) | 2022.12.18 |