Wookim

AWS와 SSH (3) 본문

programming language/DevOps

AWS와 SSH (3)

개발자인 경우 2020. 11. 25. 16:03

SSH (Secure SHell)

상황으로 알아보자.

 

내컴퓨터 A와 다른 컴퓨터 B가 있을 때, 

A컴퓨터에서 B컴퓨터에 접속하여 B컴퓨터를 사용하고 싶은 상황이다.

 

나 -> A컴퓨터 -> 네트워크 -> B컴퓨터 접속 -> B컴퓨터 사용

이렇게 내컴퓨터로 다른 컴퓨터를 사용하는 것을 원격제어라 한다.

 

이런 상황에서 아무나 B컴퓨터에 접속해서 사용한다면 해킹을 당하거나 위험할것이다.

(상상해 보라. 누가 내 컴퓨터에 들어와 소중한 자료들을 지우거나 빼간다면?....)

 

따라서 사람들은 보안을 위해 규칙을 정하기로 했다.

 

외부에서 특정 컴퓨터로(B컴퓨터) 접속을 하려면 규칙을 준수해야한다.

 

규칙

1.현관으로 들어 올 것.

2.현관으로 들어 올 때 등록해둔 신분증을 제시할것.

간단하고 거칠게 표현하면 위와 같다.

 

 

1번 규칙은 현관(포트번호 22번) 로 들어 오라는 것을 표현한것이다.

 

포트는 간단하게 설명해서 컴퓨터에 들어오고 나가기 위한 여러 문들이고

포트 번호는 그 문의 번호를 의미한다.

 

2번 규칙은 무엇인가 하면, 도둑들도 현관으로 들어오고 나가면 되겠는가?

아니요!!

 

따라서 신뢰할 수 있는 사람이라는 것을 증명하기위해 

집(B컴퓨터)에 나는 이런 사람이고 믿을 수 있는 사람이다! 

라는 것을 증명해 두어야 한다.

 

이후, 집(B컴퓨터)에 내 정보를 등록해 두고

현관으로 들어올 때, 신분증을 제시하면 

이 사람은 믿을 수 있어! 하고 입장 허가한다.

 

이런 규칙, 약속 혹은 위 절차 진행을 돕는 프로그램을 

SSH라고 명칭한다고 한다.

ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8

 

시큐어 셸 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는

ko.wikipedia.org

 

실질적인 방법은 다음과 같다.

 

1. 프라이빗 키와 퍼블릭 키 만들기 (닉값하는 키들)

프라이빗 키는 내 신분증이다.

-> 내가 들고있어야 하는 아주 아주 중요하고 비밀로 지켜야 하는 중요한 키다.

 

퍼블릭 키는 나를 외부에 등록하기 위한 정보다.

-> 다른 누구라도 해당 키는 가지고 있어도 된다. (공개가능한 키)

-> EC2에 내 퍼블릭키를 저장해 둔다.

-> 사용자가 접근해서 프라이빗 키를 제출했을 때, 해당 퍼블릭키와 프라이빗키를 이용해 등록해둔 사람인지 확인한다.

 

다른 비유를 들자면...

퍼블릭키는 자물쇠! VS 프라이빗 키는 열쇠!

라고 생각해보자. 이해가 됬으면 좋겠다...

그리고 위 과정은 AWS에 전부 알아서 해준다.

프라이빗 키를 다운받고 관리만 잘 하면 된다.

 

2. EC2에 퍼블릭키 등록하기

이 과정은 우리가 직접 할 필요는 없다. AWS를 이용해 알아서 해준다.

겁먹지 말자.

 

3. EC2에 접속 할 때 22번 포트로 접근하기

이것도 AWS를 이용하면 해결된다.

 

4. 프라이빗 키 제출하기

이것도 AWS가 알아서 해준다.

 

대충 내용은 이렇다.

내용이 길어졌으니 다음 글에서 키를 만들고 접속해보자.

'programming language > DevOps' 카테고리의 다른 글

AWS 프로젝트 올리기 (6)  (0) 2020.11.28
윈도우 터미널을 이용해 EC2 접속하기 (5)  (39) 2020.11.26
AWS SSH 설정과 EC2 실행 (4)  (0) 2020.11.25
AWS EC2 생성하기 (2)  (0) 2020.11.25
AWS 회원가입 (1)  (0) 2020.11.25
Comments