본문 바로가기
Develop Basic

SSH 기초 개념정리

by 워니 wony 2021. 5. 13.

SSH 들어도 보고 써봤어도 제대로 모르겠다.

나만 그런지 모르겠지만 개발하면서 사용하고 있지만 설명하라면 없는 느낌이랄까.

이번에 ssh 접속 오류로 인스턴스 접속을 못하는 상황이 발생하면서 생각난 김에 정리해 보려고 한다.

 

ssh?

 

Secure Shell 약자로 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜 하나이다. 컴퓨터와 다른 컴퓨터가 공공 네트워크를 통해 로그인하거나 원격시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 있도록 해주는 응용프로그램, 프로토콜을 말한다. 암호화 기법을 사용하여 보안에 좋으며, 기본적으로는 22 포트를 사용한다.

 

위키백과에 위와 같이 쓰여 있지만 뭔가 쉽게 이해가 안간다. 간단하게 말해서 다른 컴퓨터나 서버에 원격 접속 사용하는 것이다. 근데 탈취가 수도 있으니 안전하게 통신할 있도록 암호화 기능이 추가되어 있는 것이라 생각하면 좋을듯하다.

 

 

SSH 통신방법, key

 

서버에 접속할 비밀번호 대신 Key 제출하는 방식으로 비밀번호 보다 높은 수준 보안방식이다.

 

SSH key 공개키(public key), 비공개키(private key) 이루어지며, 키를 생성하면 공개키와 비공개 키가 만들어 진다. 비공개키는 로컬에 위치하고, 공개키는 원격지에 위치한다. SSH 접속을 시도하면 로컬의 비공개키와 원격 서버의 비공개키를 비교해서 일치하는지 인증과정을 거치고 접속을 있게 해준다.

 

  • public key : 공개되어도 안전한 , 복호화 불가
  • private key : 외부 노출 되면 안되는 , 로컬 컴퓨터 내부에 저장, 암호화 정보 복호화

 

사용 예시

 

마지막으로 이걸 실제로 사용하는 예는 어떤게 있을까?

 

  • Github : 데이터 전송, 소스코드를 원격 저장소인 github 푸쉬할 ssh 활용해 파일 전송
  • AWS : AWS 인스턴스 서버에 ssh 통해 접속하여 설치 명령 실행을 하기 위해 사용

 

AWS SSH 대해 설명을 조금더 하겠다. AWS에서 인스턴스를 생성하고 원격접속을 하기 위해서는 인증키, 키페어 같은 것을 생성하게 된다. 그리고 pem이라는 파일을 받게 되는데 이게 SSH 라는 보안방식이 적용된 파일로 이걸 사용해서 서버에 원격으로 접속할 있게 된다.

 

pem 파일이 위에서 설명한 비공개키라고 생각하면 된다. 키페어를 생성하면 AWS 서버에 공개키가 있는거고, 비공개키인 pem 파일을 다운로드 있다. 이걸 활용해서 키페어를 생성한 공개키가 있는 원격 서버에 접속할 있게 되는거다. pem 파일은 잃어버리게 되면 기본적으로 복구가 불가능 하기 떄문에 안전한 곳에 백업해 놓아야 한다.

 

 

사용을 해봤지만 제대로 설명하지 못했던 SSH!

이정도면 SSH 무엇인지 간략하게 설명할 있지 않을까 싶다.



 

반응형

댓글