본문 바로가기

도움되는 정보

SSH 란 무엇일까?

728x90

컴퓨터 사이언스에 대한 지식이 얕아서 이해하기는 어려웠으나, 대충 이해한 바로는 다음과 같다.

참고 : opentutorials.org/module/432/3738

 

SSH - 원격제어

SSH Secure Sell의 약자로 원격지에 있는 컴퓨터를 안전하게 제어하기 위한 프로토콜 또는 이 프로토콜을 사용하는 프로그램들을 의미한다. SSH 클라이언트와 SSH 서버의 관계로 상호작용하면서 SSH

opentutorials.org

 

1. SSH의 개념

 

1) 원격으로 컴퓨터를 제어하기 위한 프로토콜이다.

 

 

2) SSH를 사용하기 위해서는 프로토콜을 요청하는 Client는 리눅스와 MAC OS이거나 윈도우일 경우, PuTTY, Xshell 과 같은 소프트웨어가 필요하다. 그리고 프로토콜을 받는 서버에서는 SSH server가 설치되어 있어야 한다.

 

3) 장점: 다른 프로토콜에 비해 암호화 수준이 높아 보안성이 뛰어나다.

 

2. SSH key

 클라이언트가 private key를 가지고 있고, 원격 컴퓨터가 public key 를 가지고 있는데, SSH 접속을 시도할 때 SSH 클라이언트가 두 개의 키가 일치하는지를 확인한다.
 두 키가 같은 값을 가지지는 않고 아주 복잡한 수학적 관계를 맺고 있다.

 SSH key 를 만드려면 맥, 리눅스를 이용하거나 윈도우에서는 Xshell, PuTTY를 사용해야함.

 keygen 을 이용해서 client에서 private key와 public key 를 생성하고 public key 를 원격 서버로 보내야한다.
 이 후에 원격접속할 때 일치여부를 판정하고 접속하게 되는 것. 

 public key 를 보내고 나서 그 내용을 .ssh 디렉토리의 authorized_keys 안에 append(>>) 해야 한다. 
cf) 참고로 한 원격서버에 여러 client 가 접속할 수 있으니 여러 공개키가 저장될 수도 있다.

 authorized_keys 에 append 됨으로써 public key로 등록이 되었다고 보면 됨.

 

 

 

질문과 비판은 언제나 환영입니다. 많이 꾸짖어주세요.

728x90