본문 바로가기

SSH란?

by y00ns00 2021. 7. 22.

Secure Shell의 줄임말로 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜이다.

클라우드 서비스에서 제공하는 서버는 기본적으로 원격접속을 해서 접근하고 사용하는데

서버 생성시 필수적으로 SSH 보안 과정을 거치는것.

 

 

SSH의 작동원리

SSH를 구성하는 가장 핵심적인 키워드는 KEY(키,열쇠)이다.

사용자(클라이언트)와 서버(호스트)는 각각의 키를 보유하고 있으며

이 키를 이용해 연결상대를 인증하고 안전하게 데이터를 주고 받게 된다.

여기서 키를 생성하는 방식이 있는데 대표적으로 '대칭키'와 '비대칭키(공개키) 방식이다.

 

 

 

 

비 대칭키 방식

서버와 사용자는 서로를 증명해야한다. 이때 사용되는 방식이 비대칭키 방식이다.

 

비대칭키 방식에서 서버 또는 사용자가 Key Pair(키 페어,키 쌍)을 생성한다. 키 페어는 공개키와 개인키의 두가지로 이루어진 한 쌍을 뜻하며, 보통 공개키의 경우 .pub 개인키의 경우 .pem의 파일 형식을 띄고 있다.

 

사용자가 키 페어를 생성했을 경우,공개 키를 서버에 전송한다.

말 그대로 '공개'된 키이기 때문에 누구나 가질 수 있다. 때문에 전송과정에서 유출되어도 크게 문제가 되지 않는다.

서버는 공개키를 받아서 이 공개키로 만들어진 램덤한 값을 생성한다.

 

사용자는 가지고있는 개인키를 이용해 해석을 한다.

오직 키페어 생성 시 함께 생성된 개인 키와 공개 키만 서로 해석이 가능하다.

해석한 값을 다시 서버에 전송하면 서버는 사용자로부터 전송받은 값을 자신이 처음에 낸 값과 비교한다.

같으면 사용자라고 판당하고 접속을 허용한다.

이렇게 최초 접속 시 사용자와 서버 간의 인증 절차가 비대칭 키 방식을 통해 완료된다.

 

개인키는 공개 키와 달리 다른 어디에도 보여주지 않는 파일이다.

결과적으로 개인키가 서버와 사용자간의 사이를 증명하는 수단이 되는 것이다.

 

대칭키 방식

서버와 사용자가 정보를 주고받는 과정에서 암호화 하기위해 사용한다.

대칭키 방식에는는 비대칭키와 달리 한 개의 키만을 사용하는데 이것을 대칭 키라고 한다.

 

서버는 하나의 대칭 키를 만들어 서로 공유한다.

공유된 대칭키를 이용해 정보를 암호화하면 받은 쪽에서 동일한 대칭키로 암호를 풀어 정보를 습득할 수 있다.

정보 교환이 완료되면 교환 당시 사용되었던 대칭키는 폐기되고 

나중에 다시 접속할 때마다 새로운 대칭키를 생성하여 사용하게 된다.

 

이렇게 원격 접속 과정이 SSH를 통해 안전하게 이루어지는 것을 알 수 있다.

 

 

 

'' 카테고리의 다른 글

인증 쿠키와 세션 JWT  (0) 2021.07.25
HTTP를 알아보자  (0) 2021.07.25
로드 밸런서란?  (0) 2021.07.23
프레임워크 vs 라이브러리  (0) 2020.06.02
JDBC란  (0) 2020.05.17

댓글