Engineering Note

[System Software] SSH 키 생성 방법 및 인증 흐름 본문

Computer Science/System Software

[System Software] SSH 키 생성 방법 및 인증 흐름

Software Engineer Kim 2025. 7. 11. 14:11

1. SSH 인증의 흐름

  1. 공개키를 서버(또는 깃허브)에 등록
  2. 클라이언트가 서버 접속 시, 서버는 랜덤 메시지를 내 컴퓨터에 보냄
  3. 내 컴퓨터는 이 메시지를 개인키로 서명
  4. 서버는 등록된 공개키로 검증
  5. 일치하면 접속 허용 (즉, 개인키 가진 너만 접속 가능)

 

2. SSH 키 생성 방법

 
2-1 SSH 키 생성 명령어

ssh-keygen -t ed25519 -C "your_email@example.com"

 
 
Ed25519 알고리즘을 지원하지 않는 레거시 시스템을 사용하는 경우 다음을 사용합니다.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

 
 
2-2 SSH 키 생성 단계
 
이렇게 입력하면 처음에 다음과 같이 공개키 저장경로를 확인하라는 메세지가 나온다.

 
 
그리고 다음은 SSH 키에 추가 보안 계층을 설정하도록 하는 메세지가 나온다.

 
 
이렇게 SSH키 생성을 완료하면, id_rsa, id_rsa.pub라는 두 파일이 생성된다. 경로는 위에서 설정한대로 /User/user/.ssh에 위치하고 있다.
 

  • ~/.ssh/id_rsa (비밀키(개인키), NEVER 공개 )
  • ~/.ssh/id_rsa.pub (공개키, 서버나 깃허브에 등록)

 
 
이렇게 생성된 공개키를 원격으로 연결하고 싶은 서버나 서비스에 등록하면, 추후 인증이 필요할 때, 위에서 이야기한 흐름대로 인증을 커져서 원격 호스트에 접속할 수 있게 해준다.
 
 
 
참고 자료 : https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

'Computer Science > System Software' 카테고리의 다른 글

Regular Exprression과 Shell 메타 문자  (0) 2021.07.15
(7.1) 리눅스환경의프로그램실행 I - gcc, library  (0) 2021.07.15
Shell  (0) 2021.07.13
링커와 로더  (0) 2021.05.02
5.0 유닉스 및 리눅스 소개  (0) 2021.01.22
Comments