[Linux] ssh-keygen 명령어를 사용하여 SSH 키를 생성
ㅁ 들어가며
ㅇ 개발서버 접속하기 위해 SSH 키를 생성하고 등록하는 과정을 수행하게 되었다.
ㅇ 이 글에서는 ssh-keygen 명령어를 사용하여 SSH 키를 생성하고 사용하는 방법을 정리하였다.
ㅁ SSH 키란?
ㅇ SSH 키는 원격 서버와 안전하게 통신하기 위해 사용되는 암호화 키이다.
ㅇ SSH 키를 사용하면 비밀번호 대신 공개 키와 개인 키 쌍을 이용하여 인증할 수 있다.
ㅁ SSH 키 생성
ssh-keygen 명령어 실행
# ssh-keygen 명령어 실행
$ ssh-keygen -t rsa -b 4096 -C "your_email@gmail.com"
Generating public/private rsa key pair.
ㅇ 터미널을 열고 위와 같이 ssh-keygen 명령어를 실행하여 SSH키를 생성한다.
ㅇ -t rsa: RSA 알고리즘을 사용하여 키를 생성한다.
ㅇ -b 4096: 키 길이를 4096비트로 설정한다.
ㅇ -C "your_email@gmail.com": 키에 주석을 추가한다.
키 저장 위치 및 이름 설정
Enter file in which to save the key (/Users/peterseo/.ssh/id_rsa): ~/.ssh/peterica_rsa
ㅇ 키를 저장할 위치와 이름을 묻는다.
ㅇ 기본 위치는 "~/.ssh/id_rsa"이다.
ㅇ 기본값을 사용하려면 Enter를 누른다.
패스프레이즈 설정
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
ㅇ 키를 보호하기 위해 패스프레이즈를 설정할 수 있다.
ㅇ 패스프레이즈를 설정하면 키를 사용할 때마다 입력해야 한다.
ㅇ 패스프레이즈 없이 사용하려면 Enter 키를 누른다.
키 생성 완료
Your identification has been saved in ~/.ssh/peterica_rsa
Your public key has been saved in ~/.ssh/peterica.pub
The key fingerprint is:
SHA256:3BrD3FNQtia7pqhhZDwRpn8KY+y4********* your_email@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
| o ..o |
| o . o o . |
| . . o . . + |
| . o + = o = |
| = B = S = |
|.= * = + + o |
|B.o B E . o |
|++ o + + o |
|. ... o |
+----[SHA256]-----+
ㅇ 키가 생성되면 위와 같은 메시지가 출력된다.
ㅁ 공개 키 서버에 추가
cat ~/.ssh/peterica.pub
ssh-rsa AAAAB3N~~~TQJ9m3/Omi/87jQ== your_email@gmail.com
ㅇ 저장된 공개키를 확인한다.
$ echo "복사한 공개 키" >> ~/.ssh/authorized_keys
ㅇ 원격 서버에 접속하여 공개 키 파일을 생성한다.
ㅁ SSH 키 사용
ssh -i ~/.ssh/id_rsa your_user@remote_host
ㅇ SSH 키를 사용하여 원격 서버에 접속한다.
ㅇ -i ~/.ssh/id_rsa: 사용할 개인 키 파일을 지정한다.
ㅇ 패스프레이즈를 설정한 경우, 접속 시 패스프레이즈를 입력한다.
ㅁ 마무리
SSH 키를 사용하여 공개키와 개인키를 이용하여 원격 서버에 접속할 수 있다.
ssh-keygen 명령어를 사용하여 쉽게 SSH 키를 생성하고, 공개 키를 서버에 추가하여 사용할 수 있다.
알면 간단하지만, 모르면 당황스럽고 그 방법을 찾기 힘들다.
ㅁ 함께 보면 좋은 사이트
ㅇ SSH 키 생성 및 사용법 - DigitalOcean
ㅇ SSH 키를 사용한 GitHub 연결 - GitHub Docs
ㅇ SSH 키 생성 및 사용법 - Atlassian
ㅇ SSH 키를 사용한 원격 서버 접속 - Linuxize