SSH 개념과 사용 방법: 퍼블릭 키와 프라이빗 키 설명

2022. 3. 1. 18:25·Auth | Security
목차
  1. SSH의 개념
  2. SSH 키의 종류
  3. SSH 키 생성
  4. SSH 권한 확인
  5. SSH 키 사용 방법

SSH의 개념

SSH(Secure Shell)은 원격 호스트 컴퓨터에 접근하기 위해 사용하는 인터넷 프로토콜입니다. 1995년 기존의 로컬 셸에 암호화 기능을 추가되어 출시되었습니다. SSH를 사용하면 통신이 노출되어도 암호화된 문자로 보여지게 됩니다.

SSH 키의 종류

SSH 키는 퍼블릭 키(Public Key)와 프라이빗 키(Private Key)로 구성됩니다. 이러한 키들은 어디에 쓸까요? 바로, 서버에 접속할 때 비밀번호 대신 일치 여부를 확인하는 데 사용합니다.

 

퍼블릭 키는 한글로 하면 공개 키이고 프라이빗 키는 비공개 키입니다. 보통 공개 키는 리모트 컴퓨터에 올려두고, 비공개 키는 로컬 컴퓨터에 보관합니다. 클라이언트가 서버에 SSH 접속을 시도하면 공개 키와 비공개 키의 일치 여부 확인 절차가 진행됩니다.

 

퍼블릭 키와 프라이빗 키는 쌍으로 존재하며, 이러한 쌍을 키 페어(key pair)라고 합니다. 핵심은 퍼블릭 키는 프라이빗 키에서 쉽게 파생될 수 있는 반면, 프라이빗 키는 퍼블릭 키를 통해 만들기가 무척이나 어렵다는 것입니다. 이론상 불가능한 것은 아니지만 현재 컴퓨터로는 적어도 수백만년이 걸린다고 합니다.

SSH 키 생성

맥 OS는 유닉스 계열 운영체제로 OpenSSH를 기본적으로 포함하고 있습니다. 따라서 터미널에서 ssh-keygen을 사용하여 간단하게 키를 생성할 수 있습니다.

ssh-keygen

이후 키를 저장할 위치를 설정하고, 추가적으로 비밀번호 사용 여부를 지정할 수 있습니다.

SSH 권한 확인

이제 저장한 경로에서 ls -al을 통해 생성된 키를 확인할 수 있습니다. id_rsa 는 프라이빗 키며, id_rsa.pub은 공개키입니다. 개인 키는 사용자만 읽고 쓸 수 있는 600 권한을 갖고 있고, 공개 키는 다른 사용자도 읽고 쓸 수 있는 644 권한을 갖고 있습니다.

SSH 키 사용 방법

퍼블릭 키 인증을 사용하기 위해서는 퍼블릭 키가 반드시 서버에 복사되고, authorized_keys에 등록되어야 합니다. 이는 다음의 명령어를 통해 진행할 수 있습니다.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

서버에서 퍼블릭 키 설정이 완료된 경우, 서버는 일치하는 프라이빗 키를 보유한 사용자의 접속만을 허용하게 됩니다. 로그인 과정에서 클라이언트는 디지털 서명을 통해 프라이빗 키의 소유권 여부를 증명합니다.

 

SSH 관련 더 많은 커맨드들은 SSH 아카데미에서 확인할 수 있습니다.

 

참고 자료:

https://www.ssh.com/academy/ssh/protocol

https://velog.io/@hyeseong-dev/리눅스-ssh란

반응형

'Auth | Security' 카테고리의 다른 글

JWT 토큰 발급과 로그인 처리 방법  (0) 2022.04.06
XSS 공격이란?  (0) 2022.03.13
SSO 싱글사인온이란?  (0) 2022.03.08
  1. SSH의 개념
  2. SSH 키의 종류
  3. SSH 키 생성
  4. SSH 권한 확인
  5. SSH 키 사용 방법
'Auth | Security' 카테고리의 다른 글
  • JWT 토큰 발급과 로그인 처리 방법
  • XSS 공격이란?
  • SSO 싱글사인온이란?
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    깃 에러 해결
    html
    정규 표현식
    장고
    css
    장고 프로젝트
    새 탭에서 열기
    깃
    깃 퍼블릭 키 등록
    HTTP GET 요청
    요소 절대 크기
    JWT
    배포
    프로젝트 회고
    target="_blank"
    파라미터
    JWT 디코딩
    HTTP
    파이썬
    JWT 인코딩
    탭내빙
    장고 URL
    함수
    HTTP POST 요청
    요소 상대 크기
    깃 오류
    장고 Views
    요소 크기 설정
    TIL
    깃 ssh
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
SSH 개념과 사용 방법: 퍼블릭 키와 프라이빗 키 설명
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.