Base/OS, Network

ssh-keygen

findmypiece 2021. 4. 2. 22:15
728x90

ssh키를 통한 인증을 할 경우 인증서버에 ssh공개키를 미리 알려줘야 한다.

이와 관련하여 가장 흔하게 접할 수 있는게 github 인데

로컬 PC에서 github 원격저장소의 소스를 내려 받기 위해서 checkout 명령을 수행할 때

github 입장에서는 checkout 명령을 보낸 클라이언트(로컬PC)를 인증해야 하는데

그 인증 수단으로 id/password 를 사용할 수도 있지만

이는 네트워크 패킷에 그대로 노출되는 문제가 있어 ssh 공개키 암호화 방식을 사용한다.

이때 github에 공개키를 등록해놓고 클라이언트는 개인키를 가지고 ssh 인증을 시도한다.

ssh키는 ssh-keygen 을 이용하면 되는데 ssh가 설치되어 있다면 기본적으로 함께 설치되어 있다.

기본적으로 아래와 같이 아무 옵션을 주지 않더라도 키 생성은 가능하다.

ssh-keygen

위와 같이 할 경우 기본적으로 적용되는 생성옵션은 아래와 같다.

개인키 형식: openssh

암호화 방식: rsa

키 bit수: 3072

개인키 파일명: id_{암호화방식}

필요하다면 아래와 같이 옵션을 줄수도 있다.

ssh-keygen -m PEM -t rsa -b 4096 -C "luka@test.com" -f test-ssh

각 옵션의 의미는 아래와 같다.

-m PEM

개인키의 형식을 PEM으로 지정

-t rsa

어떠한 암호화 방식으로 rsa를 사용

-b 4096

생성할 키의 bit수 지정

-C "luka@test.com"

쉽게 식별할 수 있도록 공개 키 파일의 끝에 추가될 주석으로

일반적으로 이메일 주소가 사용된다.

-f test-ssh

생성할 개인키 파일명 지정

생성되는 키 값은 ~/.ssh 디렉토리 하위에서 파일로 확인 가능하다.

728x90

'Base > OS, Network' 카테고리의 다른 글

Linux crontab  (0) 2021.04.16
운영체제  (0) 2021.04.02
CPU 스케줄링  (0) 2021.04.02
L4, L7 스위치 정리  (0) 2021.04.02
Linux crontab  (0) 2021.04.02