[네트워크] 프로토콜 : SSH, Telnet (22 port)// SFTP, FTP (21 port)// RDP
포트번호 참고 : https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
SSH ( 22번 포트 )
Secure Sell의 약자로 원격지에 있는 컴퓨터를 안전하게 제어하기 위한 프로토콜 또는 이 프로토콜을 사용하는 프로그램들을 의미한다. 클라이언트와 서버 사이에는 강력한 암호화 방법을 통해서 연결되어 있기 때문에 데이터를 중간에서 가로채도 해석 할 수 없는 암호화된 문자만이 노출된다. 지금까지는 Telnet(텍스트 터미널, 참고로 아래에 나오는 RDP는 그래픽 터미널이다)을 주로 사용했는데 이것을 대체하기 위한 통신 방법이다.
리눅스에서 SSH은 어떻게 사용할까?
기본적인 ssh접속은 위와 같은 ssh 커맨드를 이용하면 된다. 접속에 성공하면 그때부터는 원격 호스트의 쉘을 사용하게 된다. 언제든지 exit 명령어를 통해 원격 호스트의 쉘을 종료하고 원래의 쉘로 돌아올 수 있다.
윈도우에서 SSH는 어떻게 사용할까?
윈도우도 ssh가 가능하다 위의 그림처럼 ( 관련 내용은 https://amorfati-1000.tistory.com/50 을 참고 바란다. ) 이 글에서는 리눅스만 다루기로 하겠다.
SSH는 Unix 계열의 운영체제를 원격에서 제어하기 위한 방법이다. 대표적인 SSH 클라이언트는 아래와 같은 것들이 있다.
- PuTTY ( 이 사용법에 관한 것은 AWS카테고리에 사용한 적이 있어 정리를 대충 해놓았다. )
- Xshell
참고로 리눅스와 Mac과 같은 Unix 계열의 운영체제의 경우에는 SSH 클라이언트와 서버가 이미 설치되어 있기 때문에 SSH를 이용하기 위한 특별한 사전 준비가 필요없다.
FTP ( 21 포트 )
FTP는 File Transfer Protocol로 말 그대로 파일을 전송하는 통신 규약이다. 기본 포트는 21이지만 바꿔서 사용하는 경우도 있고, 옛날엔 좀 사용했다고 하는데 지금은 보안이 안 좋아서 실무에서는 사용하지 않는다고 한다.
FTP는 명령어를 전달하는 21 포트와 데이터를 전달하는 20(혹은 랜덤) 포트가 있다고 기억하면 될 듯하다. 데이터를 전달하는 방식에 따라 액티브와 패시브 모드가 있는데, 이해하기 쉬운 그림은 아래에 참고.
FTP는 서버에서 서비스를 열면 클라이언트에서 접속을 해서 명령어들을 이용해서 데이터(파일)를 가져가거나 업로드하거나 그런건데... 예를 들어 생각해보자면 철수(서버)와 영희(클라이언트)가 있다면 액티브 모드는 영희(클라)가 철수(서버)에게 번호(포트)를 알려줘서 철수가 전화를 걸어 얘길 하는거고 패시브 모드는 철수(서버)가 영희(클라)에게 번호(포트)를 알려줘서 영희가 전화를 걸어 얘길 하는 그림이라고 생각하면 된다.
SFTP(Secure File transfer protocol)
SSH와 마찬가지로 전송시 암호화시켜서 전송을 하게 되는데 그 중에 FTP와 같이 파일을 전송할 때 암호화 시켜서 전송합니다.
SSH에 부가적으로 있는 기능들 중 하나의 기능이다. FTP와 같은 역할을 하지만, 사용하는 포트는 FTP 포트(기본 21포트) 가 아닌 SSH 접속시 사용하는 포트를 사용( 포트 22번 )하고, SSH 접속 계정으로 로그인 할 수 있는 FTP 이다.
RDP(원격 데스크톱 프로토콜) 대표적인 활용의 예 : 팀뷰어, MSTSC 등의 원격 프로그램 등이 이 프로토콜을 이용한다.
원격 데스크톱 프로토콜(Remote Desktop Protocol, RDP)은 마이크로소프트사가 개발한 사유 프로토콜로, 다른 컴퓨터에 그래픽 원격 관리 인터페이스를 제공하는 프로토콜이다. 이 프로토콜은 ITU-T T.128 애플리케이션 공유 프로토콜의 확장이다. 클라이언트는 윈도우 모바일을 비롯한 대부분의 마이크로소프트 윈도우 버전에 포함되어 있고, 리눅스, 유닉스, 맥 오에스 텐을 비롯한 여러 현대의 운영 체제에도 존재한다. 기본적으로 TCP 포트 3389을 사용한다.
'일반' 카테고리의 다른 글
[네트워크] 프로토콜 : SMTP(Simple Mail Transfer Protocol) - 이메일 (0) | 2019.12.12 |
---|---|
[용어] .net framework(닷넷 프레임워크) (0) | 2019.12.12 |
[용어] 프록시 서버(Proxy Server) - 중계 (0) | 2019.12.11 |
[용어] hash란? ─ "블록체인"을 만드는 기술. (0) | 2019.12.10 |
[용어] Replication - 두개 이상의 DBMS 시스템을 Master/Slave로 나눠 동일한 데이터 저장하는 방식 (0) | 2019.12.09 |
[용어] SPA(Single Page Application)란? (0) | 2019.12.05 |
[Network] XMLHttpRequest란? 개념 (0) | 2019.12.03 |