SSH

Doum Kim·2020년 9월 15일
0

보안

목록 보기
5/6
post-thumbnail

SSH

Secure Shell Protocol

네트워크 프로토콜 중 하나이며 컴퓨터와 컴퓨터가 퍼블릭 네트워크를 통해 서로 통신할 때 보안적으로 안전하게 통신하기 위해 사용한다.

크게 데이터 전송, 원격 제어를 위해 사용된다.

데이터 전송을 하는 예로는 깃헙이라는 원격 저장소에 우리의 소스 코드를 푸쉬할 때 SSH를 활용하고

원격 제어를 사용하는 예로는 우리가 서버 배포를 위해 AWS의 인스턴스 서버에 접속하여 해당 가상 머신에 명령을 내리기 위해 SSH를 통한 접속을 할 때이다.

SSH의 보안 방식

SSH는 다른 컴퓨터와 통신을 하기 위해 우리가 일반적으로 사용하는 비밀번호 입력을 통한 접속을 하지 않는다.

SSH는 Key pair를 통해 접속하려는 컴퓨터와 인증 과정을 거친다.

이 key pair에는 Private Key, Public Key 가 있다.

퍼블릭 키는 공개되어도 비교적 안전한 키이고, 퍼블릭 키를 통해 메시지를 전송하기 전 암호화를 한다. 복호화가 불가능하다는 특징이 있다.

프라이빗 키는 외부에 절대로 노출되어서는 안되는 키이고 내 컴퓨터 내부에 저장하게 되어있다.

프라이빗 키를 통해 암호화된 메시지를 복호화가 가능하다는 특징이 있다.

다른 컴퓨터와 통신을 하기 위해 먼저 퍼블릭 키를 통신하려는 컴퓨터에 복사하여 저장하고

요청을 하는 클라이언트 컴퓨터에서 접속 요청을 할 때 응답을 하는 서버 컴퓨터에서 복사되어 저장된 퍼블릭 키를 클라이언트 사이드에 해당 퍼블릭 키와 짝을 이루고 있는 프라이빗 키를 비교하여 서로 짝이 맞는 키인지 검사를 한다.

짝이 맞는 키라는 것이 확인이 되면 두 컴퓨터 사이에 암호화된 채널이 형성되어 키를 활요해 메시지를 암호화하고 복호화하며 데이터를 주고 받을 수 있게 된다.

0개의 댓글