컴퓨터 사이언스에 대한 지식이 얕아서 이해하기는 어려웠으나, 대충 이해한 바로는 다음과 같다.
참고 : opentutorials.org/module/432/3738
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로 등록이 되었다고 보면 됨.
질문과 비판은 언제나 환영입니다. 많이 꾸짖어주세요.
'도움되는 정보' 카테고리의 다른 글
파이썬을 이용한 네이버 스마트 스토어 구매 매크로(웹크롤링) (1) | 2021.03.01 |
---|