SSH 원격 접속

 - 리눅스를 처음 접할 경우 터미널과 Telnet과 SSH와 같은 프로토콜 등에 대한 용어와 쓰임새에 대해 많이 혼동한다.
 - '리눅스 환경에서 터미널을 열었으니 SSH접속이 된 것이다'라고 생각할 순 있으나, 이는 터미널 환경에서 명령어 셸을 통한 인터페이스가 제공된 것일 뿐이며 SSH 프로토콜을 사용한 것은 아니다.

1. 원격 접속이 왜 필요할까?

- 리눅스 서버 구축시 터미널이나 그래픽 유저 인터페이스 환경을 통해 여러가지 작업을 진행한다. 그러나 대부분의 리눅스 서버는 회사에서 사내 서버로 한 장소에 묶어 두거나, 호스팅 업체 및 클라우드 호스팅 등의 구성으로 이루어졌기 때문에 관리자와 멀리있는 곳에 서버가 위치한 경우가 많다.
- 서버 작업 처리 시마다 매번 해당 서버가 위치한 곳으로 이동할 순 없고, 이동해서 관리하자니 서버가 많아지면 각각의 서버로 이동해 일일이 모니터를 연결해 작업하기엔 어려움이 많다.

- 이에 따라 원격 접속은 중요하고 필수적인 작업이 되었다.
- 원격 접속 프로그램을 통해 원격지에 있는 서버에 굳이 찾아가지 않고 해당 서버의 주소(IP 등)만 알고 있다면 다른 PC를 통해 바로 접속이 가능.
<< 윈도우에선 원격 데스크톱 연결(RDP) >>

- 리눅스는 일반적으로 RDP 프로토콜을 지원하지 않아 그래픽 데스크톱 환경에서 띄우기 위해서 VNC나 XRDP, XDMP와 같은 프로토콜을 사용해야 하며 연결이 가능해지도록 일련의 설정이 필요하다.

- 이러한 원격 접속을 이용하여 터미널 환경을 사용할 수 있도록 고안된 프로토콜이 Rlogin, Telnet, SSH(가장많이사용)이다.


2. 터미널과 터미널 에뮬레이터

- Xshell, PuTTY, iTerm이나 SecureCRT는 윈도우에서 원격 리눅스 서버로 터미널 접속 프로토콜을 사용하여 연결할 수 있도록 해주는 터미널 에뮬레이터 클라이언트이다. 리눅스 내에서 실행되는 터미널 또한 마찬가지로 터미널 에뮬레이터로 불린다. 터미널 에뮬레이터(Terminal Emulator)는 말 그대로 실존하는 것이 아닌 가상으로 구현된 복제품이다.

- Telnet과 SSH와 같은 프로토콜은 원격지로 연결을 가능하도록 하는 네트워크 접속 도구이다. 리눅스 시스템 자체에 있는 터미널 클라이언트는 대개 원격 접속이 아니기 때문에 SSH 프로토콜을 사용하지 않는다.

3. SSH란?

- SSH(Secure Shell)는 보안을 중요시한 프로토콜이다.
- 기존에는 Telnet이나 Rlogin을 사용하였지만 최근에는 대부분 SSH 프로토콜을 사용한다.
- 흔히 알고 있는 리눅스 명령어는 SSH 명령어라기 보단 sh, bash 등의 셸 명령어로써, 대부분 sh 및 bash 라는 명령어 체계를 사용할 것이다.

- Telnet과 SSH 접속은 사용하는 환경이 크게 달라지지 않는다. 하지만 Telnet은 보안적으로 매우 치명적인 결함이 있다.
- SSH 프로토콜 사용시엔 문자열이 출력되면 식별할수 없는 암호화하여 패킷이 보내지지만, Telnet 프로토콜을 사용했을 시엔 별도의 암호화가 되지 않는다. 

'리눅스 ( Linux ) > 리눅스' 카테고리의 다른 글

RTMP와 HLS & (RTP, RTCP, RTSP)  (0) 2020.03.30
원격 접속 VNC  (0) 2020.03.22
디렉토리 종류와 특징  (0) 2020.03.19
root의 개념  (0) 2020.03.18
Buffer Memory와 Cache Memory의 차이점  (0) 2020.03.16
복사했습니다!