SSH 간단 정리

 

 

-셸이란?

컴퓨터는 [하드웨어]와 [소프트웨어]로 되어있고

소프트웨어는 [응용프로그램]과 [운영체제]로 되어있다.

응용프로그램은 웹브라우저 같은 프로그램들이다.

운영체제는 [커널]과 [시스템프로그램]으로 되어있는데

셸이 대표적인 시스템프로그램이다.

터미널이나 cmd를 통해 셸로 커널에 명령어를 전달하여 처리하고

결과를 알려준다.

이러한 셸은 크게 CUI와 GUI로 나눌 수 있다.

->>운영체제란?.....사용자의 하드웨어,시스템 자원을 관리하고

응용 프로그램을 실행할 수 있도록 서비스를 제공하는 오퍼레이팅 시스템이다.

 

-커널이란?

위에서 나온것 처럼 운영체제는 커널과 시스템프로그램으로 나뉘는데

커널은 셸에게 받은 명령으로 메모리 관리,프로세스 관리,장치 드라이버,시스템 호출 및 보안의 기능을 수행한다.

 

-SSH란?

네트워크상 다른 컴퓨터의 셸을 사용할 수 있게 해주는 프로토콜(규약)이다.

SSH를 사용하면 원격에서 네트워크상의 컴퓨터에 안전하게 통신할 수 있다.

주로 서버관리자가 SSH를 통해 서버를 관리한다.

 

-SSH의 작동 순서?

SSH에는 대칭키(세션 키)와 비대칭키(공개키,개인키)가 있다.

클라이언트가 서버에 연결 요청을 보내면 먼저 서로를 인증하는데

[서버가 인증을 하는 경우]

클라이언트가 요청을 시작한 순간 공개키를 서버에 전송한다.

클라이언트에서 난수를 하나 생성한뒤 서버의 공개키로 암호화해서

서버에 전송하고 난수의 해시값을 계산해 저장해둔다.

서버는 전송받은 암호화된 난수를 서버의 개인키로 복호화한뒤

복호화된 난수의 해시값을 계산해 클라이언트에게 전송한다.

그러면 클라이언트는 전송받은 해시값을 저장된 해시값과 비교하면

서버가 인증된다.

[클라이언트가 인증하는 경우]는

서버가 인증하는 방식과 역할만 서로 바뀐채 똑같이 진행된다.

그렇게 서로 인증이 완료된다면

통신을 하는 단계로 넘어간다.

이때 모든 통신은 대칭키를 통해 암호화된다.

대칭키는 서버와 클라이언트 서로 다르지 않고 같은 1개의 키다.

암호화한 값을 전송한뒤 그 값을 복호화하여 서로 통신한다.

이때 통신이 끝난다면 해당 대칭키는 폐기되고

다시 접속할때 새로운 대칭키를 생성한다.

 

 

 

 

 

'서버 공부' 카테고리의 다른 글

HTTP통신 / TCP통신과 Socket 정리  (0) 2024.05.19