지이구
지구.log
지이구
전체 방문자
오늘
어제
  • 분류 전체보기 (89)
    • 프로그래밍언어 (25)
      • Java (12)
      • 자바스크립트 (12)
    • 웹 개발 (13)
      • HTML, CSS (4)
      • JSP (6)
      • API, Plugin (0)
      • 기타 (3)
    • 프레임워크 (20)
      • 스프링 (12)
      • Node.js (4)
      • 넥사크로 (4)
    • 데이터베이스 (6)
      • Oracle (3)
      • MySQL MariaDB (2)
    • 모바일 (1)
      • 안드로이드 (1)
      • iOS (0)
    • 운영체제 (3)
      • 리눅스 (3)
    • 연습 (12)
      • 프로그래머스 (12)
    • 자격증 (5)
      • 정보처리기사 (5)
    • 취미 (1)
      • 배경화면 (1)
반응형

블로그 메뉴

  • 홈

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
지이구

지구.log

웹 개발/기타

[필수개념] FTP, SFTP, telnet, SSH 정리

2021. 6. 15. 10:12

회사에서 공부하면서 꼭 알아야하는 부분 다시 공부할 겸 정리했다

꼼꼼히 짚고 넘어가야지~

​


​

FTP(File Transfer Protocol)

인터넷을 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있도록 하는 방법과, 그런 프로그램을 모두 일컫는 말

​

- 원격 host로 파일을 송수신하는 protocol (id, pw로 원격 host에 접속)

- Client-Server model (즉, 내 컴퓨터에 Client, 호스트 Server가 파일을 송수신할 수 있다)

- FTP server의 Port Number는 21이다

- 익명으로 엑세스할 수 있는 FTP도 존재한다

- FTP 서버에 접속할 때 입력하는 사용자 계정 및 암호 등의 정보나 파일 전송 명령 및 결과 등은 데이터 제어용 연결에서, 이후 실제 파일 송수신 작업은 데이터 전송 연결에서 처리된다

- FTP Client 프로그램은 여러 파일을 연속으로 송수신해야 하기에, Server와의 지속적인 응답 메시지 전송을 통해 연결 상태(세션)을 유지한다

- FTP에는 서비스 요청 및 결과, 통보를 알리기 위한 명령 포트와 실제로 파일을 전송하기 위한 데이터 전송 포트가 존재한다 (신호/명령 제어 21번, 데이터 전송 20번)

- Client측은 제어 연결을 통해 id, pw 와 명령을 전송한다 -> Server측은 명령을 받은 TCP data connection을 초기화한다 -> 하나의 파일 전송이 끝나면 data 연결이 close된다 -> 다음 파일 전송을 위해서는 새로운 TCP connection을 생성한다

 

​

1) Out of band (Active mode)

파일을 전송하는 Connection과 제어를 위한 Connection을 다르게 하는 것

21번 포트번호로 접속을 제어하고 파일을 전송할 때에는 20번 포트를 사용하는 방식 (Active mode)

21번은 계속 유지되지만 20번은 파일을 주고 받을 때만 연결된다

 

​

2) Passive mode

Active mode에서 Server가 Client에 접속을 시도하기 때문에 클라이언트의 방화벽이 서버의 접근을 차단하면 FTP가 정상적으로 동작하지 않는다 ->그래서 Passive mode 등장

20번 포트번호 대신 1024번 이후로 임의의 포트를 이용하는 방식이다

Passive mode로 동작하기 위해서는 FTP Server와 Client 양쪽에서 Passive mode를 지원해야하는데 대부분 이 모드를 지원한다

 

​

3) 익명 계정

사용자 계정 및 암호이 필요없는 공개형 FTP형 Server의 경우 하나의 공용 계정을 통해 모든 사용자가 간편하게 접속할 수 있도록 한다

Anonymouse 라는 계정에 자신의 이메일 주소를 암호로 입력하면 접속 가능

 

​

​

​

SFTP

ssh 방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능을 이용할 수 있다

- 사용하는 포트는 FTP포트(기본 포트21)이 아닌 SSH 접속시 사용하는 포트를 사용하고, SSH 접속 계정으로 로그인할 수 있는 FTP이다

- 즉, FTP의 형태를 가지고 있지만 그 안에 내용물은 SSH를 이용해서 연결을 하는 것이 SFTP인 것이다

 

​

​

​

telnet(teletype network)

인터넷, 로컬 영역 네트워크 연결에 쓰이는 TCP/IP 기반의 네트워크 프로토콜

- 프로토콜의 클라이언트 일부 기능이 추가된 소프트웨어를 말한다

- 사용자로써 로그인해서 부여된 권한에 따라 데이터 접근 또는 프로그램 실행이 가능

- 대표적인 telnet client로는 Putty가 있다

- 바이트 스트림 형식으로 주고받아서 정보노출 위험이 크다

 

​

​

​

SSH(Secure SHell)

네트워크를 통한 원격 호스트 연결 과정을 보호하기 위해 설계되었다

- 강력한 인증방법을 제공하거나 보안통신 기능을 제공한다

- 다양한 암호화 기법을 사용하므로 통신이 노출되어도 암호화된 문자로 보여진다 (암호화 비트를 높일 수록 네트워크 대역폭을 더 많이 사용하는 부작용이 있다)

- 기본 포트 22번

- IP스푸핑을 방지하기 위한 기능 제공

- 원격 호스트 엑세스에 대해서는 다양한 설정을 통해 보안성을 더 강화할 수 있음

- DES, RSA 등 고급 암호화를 통해 통신한다

728x90
반응형
    '웹 개발/기타' 카테고리의 다른 글
    • XML 특수문자 코드표 (줄바꿈 \n 포함)
    • [필수개념] Ajax 기초 개념
    지이구
    지이구
    풀스택 개발자를 목표로 성장중인 병아리 개발자입니다. #ENFJ #5년차 #웹개발자 #집사

    티스토리툴바