ssh-keygen은 SSH(Secure Shell) 접속을 위한 인증 키를 생성하는 도구입니다. 이 명령어를 사용하여 공개키와 개인키 쌍을 생성할 수 있습니다. 생성된 키 쌍은 원격 서버와의 안전한 통신을 보장합니다.
사용법
ssh-keygen 명령어는 다양한 옵션과 함께 사용할 수 있으며, 기본적으로 아래와 같은 형식을 가집니다:
ssh-keygen [옵션]
기본 사용법
아무 옵션 없이 ssh-keygen을 입력해도 기본 RSA 알고리즘으로 키 쌍을 생성할 수 있습니다. 터미널에서 다음과 같은 명령어를 입력합니다:
ssh-keygen
진행 과정
- 저장할 파일의 위치
- 명령어를 입력하면 저장할 키 파일의 경로를 묻습니다. 기본적으로
~/.ssh/id_rsa에 저장됩니다. Enter 키를 눌러 기본 위치를 사용할 수 있습니다.
- 명령어를 입력하면 저장할 키 파일의 경로를 묻습니다. 기본적으로
- 암호 설정
- 이후 키를 보호하기 위한 암호를 설정할 수 있는 기회가 주어집니다. 암호 없이 진행하려면 그냥 Enter 키를 누릅니다. 암호를 설정하면 키를 사용할 때마다 입력해야 합니다.
옵션 사용
ssh-keygen은 여러 옵션을 지원하여 키 쌍을 생성하는 방식과 알고리즘을 지정할 수 있습니다. 주요 옵션은 다음과 같습니다:
-t: 생성할 키의 타입을 지정합니다(예: rsa, dsa, ecdsa, ed25519 등).-b: 키의 비트 길이를 설정합니다. 예를 들어,-b 4096으로 4096비트 키를 생성할 수 있습니다.
예제
- Ed25519 키 생성:
ssh-keygen -t ed25519 -C "your_email@example.com"
- RSA 키 생성:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
키 쌍 사용
생성된 공개키는 서버에 추가하고, 개인키는 로컬에서 보호해야 합니다. 공개키를 서버의 ~/.ssh/authorized_keys 파일에 추가함으로써 SSH 접속을 인증할 수 있습니다.
결론
ssh-keygen 명령어는 SSH를 통한 인증을 위해 필수적인 도구로, 간편하게 키 쌍을 생성하고 관리할 수 있도록 도와줍니다1234.
ssh-keygen 사용시 유의사항
키 쌍을 생성할 때 다음과 같은 점에 유의해야 합니다:
- 기존 키 덮어쓰기 주의
- 이미 같은 위치에 기존 키가 존재하는 경우, ssh-keygen은 덮어쓸지를 묻습니다. 기존 키를 덮어쓰면 그 키가 등록된 서버와의 연결이 끊어지므로 주의해야 합니다. 만약 별도의 이름으로 키를 생성하고자 한다면
-f옵션을 사용하여 저장할 파일 이름을 지정할 수 있습니다. 예를 들어:
ssh-keygen -f ~/.ssh/my_new_key - 이미 같은 위치에 기존 키가 존재하는 경우, ssh-keygen은 덮어쓸지를 묻습니다. 기존 키를 덮어쓰면 그 키가 등록된 서버와의 연결이 끊어지므로 주의해야 합니다. 만약 별도의 이름으로 키를 생성하고자 한다면
- SSH 에이전트 사용법
- 생성된 키에 암호를 설정한 경우, 매번 암호를 입력하는 것이 번거롭다면 SSH 에이전트를 사용할 수 있습니다. SSH 에이전트를 통해 키를 메모리에 캐시하여 사용하면, 로그인 시 암호 입력을 생략할 수 있습니다. 다음과 같이 사용할 수 있습니다:
eval $(ssh-agent -s) ssh-add ~/.ssh/id_rsa - Repository에 공개키 추가
- GitHub와 같은 리포지토리에서 SSH 키를 사용하기 위해서는 생성된 공개키를 해당 플랫폼에 등록해야 합니다. 공개키는
.pub파일로 저장되며, 이 내용을 복사하여 GitHub 계정의 SSH Keys 세팅 화면에 붙여넣습니다.
- GitHub와 같은 리포지토리에서 SSH 키를 사용하기 위해서는 생성된 공개키를 해당 플랫폼에 등록해야 합니다. 공개키는
- 안전한 저장
- 개인키(private key)는 안전하게 보관해야 하며, 절대로 공개되지 않아야 합니다. 만약 개인키가 유출된다면, 해당 키와 연결된 시스템에 대한 보안이 위협받게 됩니다
Leave a Reply