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 디렉토리 하위에서 파일로 확인 가능하다.
'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 |