검수요청.png검수요청.png

"SFTP"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(등장배경)
(단점)
 
(사용자 4명의 중간 판 40개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''SFTP'''(Secure File Transfer Protocal)는 파일 전송 시의 로그인 정보나 파일 정보를 암호화 한 후 시큐어 셸([[SSH]] Secure SHell)프로토콜을 이용하여 기존의 FTP보다 보안이 강화된 전송방식이다. [[포트]]번호는 22번이다.
+
'''SFTP'''(Secure File Transfer Protocol)는 기존의 [[FTP]]에 [[보안]] 기능을 강화한 '''보안 파일 전송 [[프로토콜]]'''<!--보안 파일 전송 규약-->이다. '에스에프티피'라고 읽는다. '''보안 FTP'''<!--보안FTP-->(Secure FTP)라고도 한다. SFTP는 파일 전송 시 로그인 정보나 파일 정보를 [[암호화]]한 후 시큐어셸([[SSH]] Secure SHell) 프로토콜을 이용하여 전송하기 때문에, 기존의 [[FTP]](File Transfer Protocol)보다 보안이 강화된 전송 방식이다. [[포트]] 번호는 22번이다.
  
 
==개요==
 
==개요==
SFTP는 시큐어 셸(SSH Secure SHell)을 이용하여 한 쌍의 키를 생성한 후 키를 이용하여 정보를 암호화 하여 통신하는 기술이다. 시큐어 셸은 텔넷(telnet)의 보안버전이다. 시큐어 셸(SSH)에서 터널링을 하는 방법은 [[FTPS]]에서의 방식과 상당히 유사하다. 시큐어 셸은 시큐어 셸 사용자 인증 프로토콜, 시큐어 셸 연결 프로토콜, 시큐어 셸 전송층 프로토콜로 3개의 [[프로토콜]]로 이루어져 있다. 첫번째로 사용자 인증 프로토콜은 클라이언트 측 사용자를 서버에게 인증한다. 사용자 인증 프로토콜 부분에서 우리가 알고 있듯이 공개키, 패스워드, 호스트 인증방식을 사용할 수 있다. SFTP는 결국 키를 교환하여 암호화 한다는데 FTPS와 맥을 같이하고 있다. 그러나 신원 확인용 스트링 교환이라는 부분이 다르다. 두번째로 연결 프로토콜은 암호화된 터널을 여러개의 논리적 채널로 다중화 한다. 세번째로 전송 프로토콜부분은 서버 인증, 기밀성, 무결성을 제공하며 옵션으로 압축을 제공하기도 한다. 결국 SFTP는 SSH방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능을 이용할 수 있다. FTP, TFTP(Trivial File Transfer Protocol)의 취약점인 평문전송의 문제점을 보완하여 SSH를 통해 동작하는 FTP로, TCP 보안채널(터널링)을 형성하여, 데이터의 안전한 전송을 가능하게 하는 파일 전송 프로토콜이다. 파일이 암호화 되어있어 중간에 누군가 파일을 가로채더라도 파일을 해독할 수 없기 때문에 악용하거나 도용할 수 없다. 클라이언트 프로그램이 없더라도 윈도우에서 기본적으로 제공하는 서비스를 사용할 수 있다. 하지만 초보자들은 사용하기 어려우므로 간단한 인터페이스와 편리하게 조작할 수 있는 클라이언트 프로그램을 사용하는 것이 좋다. 간혹 FTPS(FTP / SSL)와 혼동하는 경우가 간혹 있는데 FTPS는 SSH를 사용하지 않고, 22번 포트 대신 20번, 21번 포트를 사용한다는 점에서 SFTP와 완전히 다르다.<ref>IT's me, 〈[https://nhj12311.tistory.com/76 ftp, ftps, sftp(ssh) 개념정리]〉, 《dev》, 2019-08-07 </ref>
+
SFTP는 시큐어셸을 이용하여 한 쌍의 키를 생성한 후 키를 이용하여 정보를 암호화하여 통신하는 기술이다. 시큐어셸은 [[텔넷]](telnet)의 보안 버전이다. 시큐어셸에서 터널링을 하는 방법은 [[FTPS]]방식과 상당히 유사하다. 시큐어셸은 시큐어셸 사용자 인증 프로토콜, 시큐어셸 연결 프로토콜, 시큐어셸 전송 층 프로토콜로 3개의 프로토콜로 이루어져 있다. 첫 번째로 사용자 인증 프로토콜은 [[클라이언트]], 측 사용자를 [[서버]]에게 인증한다. 사용자 인증 프로토콜 부분에서 [[공개키]](public key), 패스워드, 호스트 인증 방식을 사용할 수 있다. SFTP는 결국 키를 교환하여 암호화한다는 점에서 FTPS와 맥을 같이하고 있다. 그러나 신원 확인용 스트링 교환이라는 부분이 다르다. 두 번째로 연결 프로토콜은 암호화된 터널을 여러 개의 논리적 채널로 다중화한다. 세 번째로 전송 프로토콜 부분은 서버 인증, [[기밀성]], [[무결성]]을 제공하며 옵션으로 압축을 제공하기도 한다. 결국 SFTP는 시큐어셸 방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능을 이용할 수 있다. FTP, [[TFTP]](Trivial File Transfer Protocol)의 취약점인 평문 전송의 문제점을 보완하여 시큐어셸을 통해 동작하는 FTP로, [[TCP]] 보안 채널(터널링)을 형성하여, 데이터의 안전한 전송을 가능하게 하는 파일 전송 프로토콜이다. 파일이 암호화되어있어 중간에 누군가 파일을 가로채더라도 파일을 해독할 수 없기 때문에 악용하거나 도용할 수 없다. 클라이언트 프로그램이 없더라도 [[윈도우]](Windows)에서 기본적으로 제공하는 서비스를 사용할 수 있다. 하지만 초보자들은 사용하기 어려우므로 간단한 [[인터페이스]]와 편리하게 조작할 수 있는 클라이언트 프로그램을 사용하는 것이 좋다. 간혹 FTPS와 혼동하는 경우가 있는데, FTPS는 시큐어셸을 사용하지 않고, 22번 포트 대신 20번, 21번 포트를 사용한다는 점에서 SFTP와 완전히 다르다.<ref>IT's me, 〈[https://nhj12311.tistory.com/76 ftp, ftps, sftp(ssh) 개념정리]〉, 《티스토리》, 2019-08-07 </ref>
  
다음은 시스템이 데스크 탑에서 SFTP 클라이언트를 구성하는데  필요한 정보이다.
+
==역사==
* 서버 호스트 이름 : 서버의 호스트 이름 또는 IP 주소 제공
+
SFTP는 IETF의 참여 이전, 1995년 [[핀란드]]의 [[타투 일료넨]](Tatu Ylönen) 시큐어셸 커뮤니케이션 시큐리티(SSH Communication Security) 회사의 사유 프로토콜이었다. 버전 0에서 2 프로토콜은 1997년 [[사미 레흐티넨]](Sami Lehtinen)의 도움으로 타투 일료넨이 설계한 것이다. 버전 3 프로토콜은 IETF 시큐어셸 파일 전송 프로젝트의 시작으로, 서치 그룹은 시큐어셸 파일 전송 프로토콜의 목적이 신뢰할 수 있는 데이터 스트리밍에 안전한 파일 전송 기능을 제공하는 것이며 SSH-2 프로토콜을 사용한 표준 파일 전송 프로토콜이 되고자 함임을 언급하였다. 이외에도 버전 4, 버전 5 버전 6이 존재한다.<ref> 〈[https://nhj12311.tistory.com/76 SSH 파일 전송 프로토콜]〉, 《위키백과》</ref> 기존의 FTP와 텔넷은 보안에 매우 취약했기 때문에 안전한 데이터 통신 방법인 시큐어셸을 개발하게 되었다. 시큐어셸 버전 2 프로토콜(RFC 4251)의 개발을 맡았던 [[IETF]](Internet Engineering Task Force) 워킹 그룹 서치(Secsh)는 안전한 파일 전송 기능의 표준 확장에 대한 초안 작성을 시도했다. 인터넷 초안들이 만들어지면서 새로운 버전들로 이 프로토콜을 연이어 개정했다. 아직 초안이 표준화되기 전이었지만 [[소프트웨어]] 산업은 이 프로토콜의 다양한 버전들을 구현하기 시작했다. 개발이 진척됨에 따라 서치 파일 전송 프로젝트의 범위는 파일 접근과 파일 관리를 포함하는 데까지 확장되었다. 마침내 일부 위원회 구성원들이 SFTP를 단순히 파일 접근이나 파일 전송 프로토콜이 아닌 파일 시스템 프로토콜로 보기 시작하자 개발은 중단되었는데, 이는 전문가 집단의 범위를 넘어섰기 때문이다. 7년의 중단 기간이 있었지만, 2013년 버전 3 초안을 기본으로 하는 SFTP의 작업을 다시 시작하고자 하는 시도가 있었다.
* 포트번호 : 클라이언트가 연결하려는 TCP 포트
 
* 보안 프로토콜 : 보안 연결을 설정할 프로토콜
 
* 사용자 이름 : 클라이언트가 서버에 연결하려는 SSH의 사용자 이름
 
* 암호 : 위 사용자에게 할당된 번호<ref name="myserve">myservername.com, 〈[https://ko.myservername.com/what-is-sftp-port-number SFTP(Secure File Transfer Protocol) 및 포트 번호 란?]〉, 《myservername.com》 </ref>
 
  
==특징==
+
==원리==
* 포트번호 : 22번
+
기존의 FTP와 접속 방식과 같지만 FTP 서버에서 SFTP를 지원해야 한다. 시큐어셸은 다른 컴퓨터와 통신을 하기 위해 접속을 할 때 우리가 일반적으로 사용하는 아이디나 비밀번호의 입력을 통한 접속을 하지 않는다. 시큐어셸은 [[개인키]](Private Key)와 공개키를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 된다. 시큐어셸 키(SSH Key)는 서버에 접속할 때 비밀번호 대신 키(key)를 제출하는 방식이다. 비밀번호보다 높은 수준의 보안이 필요할 때, 로그인 없이 자동으로 서버에 접속할 때 사용한다. 공개키는 공개되어도 비교적 안전한 키다. 공용 키를 이용해 암호화를 하지만 복호화은 불가능하다. 개인키는 절대로 외부에 노출이 되어서는 안 되는 키로 본인의 컴퓨터 내부에 저장하게 되어 있으며 암호화된 메시지를 복호화 할 수 있다. 공개키와 개인키 사이에는 복잡한 수학적 관계가 있다. 먼저 공개키를 통신하고자 하는 컴퓨터에 복사하여 저장한다. 그리고 요청을 보내는 클라이언트 컴퓨터에서 접속 요청을 할 때 응답을 하는 서버 컴퓨터에 복사되어 저장된 공개키와 클라이언트 컴퓨터에 해당 공개키와 쌍을 이루는 개인키와 비교를 하여 서로 한 쌍의 키인지 아닌지를 검사한다. 이렇게 서로의 키를 확인하고 인증이 되면 두 컴퓨터 사이에 암호화된 채널이 형성되어 키를 활용해 메시지를 암호화하고 복호화하며 안전하게 데이터를 주고받을 수 있게 된다.<ref>by Won_^o^ , 〈[https://gaebal4.tistory.com/38 ftp, ftps, sftp(ssh) 개념 정리]〉, 《티스토리》, 2019-12-27 </ref> 다음은 시스템이 데스크톱에서 SFTP 클라이언트를 구성하는데  필요한 정보이다.
* 기밀성 : 암호화를 통해 송수신되는 데이터의 기밀성 보장
 
* 무결성 : 해시 값 비교를 통해 데이터 위 변조 방지
 
* 인증 : 서버와 클라이언트가 서로 생성한 임의의 문자열을 바탕으로 송신자 인증<ref>이성덕, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sdug12051205&logNo=221547447476 FTP(File Transfer Protocol) 및 SFTP(Secure FTP)]〉, 《이성덕 정보관리기술자》, 2019-05-27 </ref>
 
  
==등장배경==
+
* '''서버 호스트 이름''' : 서버의 호스트 이름 또는 IP 주소 제공
기존의 FTP와 Telnet은 보안에 매우 취약했기 때문에 안전한 데이터 통신방법을 필요로 했고 시큐어 셸을 개발하게 되었다. 시큐어 셸 버전 2 프로토콜(RFC 4251)의 개발을 맡았던 국제 인터넷 표준화 기구(IETF Internet Engineering Task Force) 워킹 그룹 "Secsh"는 안전한 파일 전송 기능의 표준 확장에 대한 초안 작성을 시도하였다. 인터넷 초안들이 만들어지면서 새로운 버전들로 이 프로토콜을 연이어 개정하였다. 아직 초안이 표준화되기 전이었지만 소프트웨어 산업은 이 프로토콜의 다양한 버전들을 구현하기 시작하였다. 개발이 진척됨에 따라 Secsh 파일 전송 프로젝트의 범위는 파일 접근과 파일 관리를 포함하는 데까지 확장되었다. 마침내 일부 위원회 구성원들이 SFTP를 단순히 파일 접근이나 파일 전송 프로토콜이 아닌 파일 시스템 프로토콜로 보기 시작하자 개발은 중단되었는데, 이는 워킹 그룹의 범위를 넘어섰기 때문이다. 7년의 중단 기간이 있었지만, 2013년 버전 3 초안을 기본으로 하는 SFTP의 작업을 다시 시작하고자 하는 시도가 있었다.
+
* '''포트 번호''' : 클라이언트가 연결하려는 TCP 포트
 +
* '''보안 프로토콜''' : 보안 연결을 설정할 프로토콜
 +
* '''사용자 이름''' : 클라이언트가 서버에 연결하려는 시큐어셸의 사용자 이름
 +
* '''암호''' : 사용자에게 할당된 번호<ref name="myserve">myservername.com, 〈[https://ko.myservername.com/what-is-sftp-port-number SFTP(Secure File Transfer Protocol) 및 포트 번호란?]〉, 《myservername.com》 </ref>
  
==개발버전==
+
==특징==
'''버전 0 - 2'''
+
* '''포트 번호''' : 22번
 +
* '''기밀성''' : 암호화를 통해 송수신되는 데이터의 기밀성 보장
 +
* '''무결성''' : 해시값 비교를 통해 데이터 위 변조 방지
 +
* '''인증''' : 서버와 클라이언트가 서로 생성한 임의의 문자열을 바탕으로 송신자 인증<ref>이성덕, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sdug12051205&logNo=221547447476 FTP(File Transfer Protocol) 및 SFTP(Secure FTP)]〉, 《네이버 블로그》, 2019-05-27 </ref>
  
IETF의 참여 이전에, SFTP는 SSH 커뮤니케이션스 보안의 사유 프로토콜이었으며 이 프로토콜은 1997년 Sami Lehtinen의 도움으로 Tatu Ylönen가 설계한 것이다. 버전 0 - 2와 버전 3 간의 차이점은 [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02#section-10 section 10 of draft-ietf-secsh-filexfer-02] 안에 나열되어 있다.
+
===장점===
 +
* 시큐어셸 기반이기 때문에 퍼미션 변경에서 더 강력해지는데, 특히 루트(root) 계정일 때 더욱 그렇다.  
 +
* 외부에서도 파일 관리가 편해진다.
 +
* 루트 계정일 경우 서버의 시스템 관리가 더 편리해진다.<ref>코딩하는소진이, 〈[https://coding-sojin2.tistory.com/entry/FTP-FTPS-SFTP(Network) FTP & FTPS & SFTP]〉, 《티스토리》, 2020-10-12 </ref>
 +
* 운영의 대부분의 측면을 엄격하게 정의하는 좋은 표준 배경을 가지고 있다.
 +
* 하나의 연결만 있다. 또한 데이터 연결이 필요 없다.
 +
* 클라이언트와 서버와의 연결은 항상 보호된다.
 +
* 디렉터리 목록은 균일하고 기계가 읽을 수 있다.
 +
* 프로토콜에는 권한 및 속성 조작, 파일 잠금 및 기타 기능이 있다
  
'''버전 3'''
+
===단점===
 
+
* 보안을 위해서 키를 주고받고 암호화 복호화 과정을 거치기 때문에 속도가 느리다.
IETF 시큐어 셸 파일 전송 프로젝트의 시작으로, Secsh 그룹은 SSH 파일 전송 프로토콜의 목적이 신뢰할 수 있는 데이터 스트림에 안전한 파일 전송 기능을 제공하는 것이며 SSH-2 프로토콜을 사용한 표준 파일 전송 프로토콜이 되고자 함임을 언급하였다.
+
* 통신은 바이너리이며 사람이 읽을 수 있도록 '있는 그대로' 기록할 수 없다.  
 
+
* 시큐어셸 키는 관리 및 검증이 더 어렵다.
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-00 SSH File Transfer Protocol, Draft 00, January 2001]
+
* 표준은 특정 사항을 선택 사항 또는 권장 사항으로 정의하기 때문에 서로 다른 공급 업체의 서로 다른 소프트웨어 타이틀 간에 특정 호환성 문제가 발생한다.
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-01 SSH File Transfer Protocol, Draft 01, March 2001]
+
* 서버 간 복사 및 반복적인 디렉토리 제거 작업 없다.
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02 SSH File Transfer Protocol, Draft 02, October 2001]
+
* 비주얼 컴포넌트 라이브러리(VCL) 및 [[닷넷]](.NET)프레임 워크에서 기본 제공 시큐어셸 및 SFTP 지원이 없다.<ref> NuTTyX, [https://www.thefastcode.com/ko-krw/article/what-is-the-difference-between-ftps-and-sftp FTPS와 SFTP의 차이점은 무엇입니까?],《TheFastCode》, 2014-08-18 </ref>
 
 
'''버전 4'''
 
 
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-03 SSH File Transfer Protocol, Draft 03, October 2002]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04 SSH File Transfer Protocol, Draft 04, December 2002]
 
 
 
'''버전 5'''
 
 
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05 SSH File Transfer Protocol, Draft 05, January 2004]
 
 
 
'''버전 6'''
 
 
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-06 SSH File Transfer Protocol, Draft 06, October 2004]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-07 SSH File Transfer Protocol, Draft 07, March 2005]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-08 SSH File Transfer Protocol, Draft 08, April 2005]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-09 SSH File Transfer Protocol, Draft 09, June 2005]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-10 SSH File Transfer Protocol, Draft 10, June 2005]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-11 SSH File Transfer Protocol, Draft 11, January 2006]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-12 SSH File Transfer Protocol, Draft 12, January 2006]
 
* [http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13 SSH File Transfer Protocol, Draft 13, July 2006]<ref> 〈[https://nhj12311.tistory.com/76 SSH 파일 전송 프로토콜]〉, 《위키백과》</ref>
 
  
==SFTP 접속 클라이언트==
+
== 접속 클라이언트==
===FileZilla===
+
===파일질라===
가장 많이 사용하는 클라이언트. FileZilla는 그래픽 유저 인터페이스 SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 기반의 프로그램이다. 이 프로그램을 사용하여 모든 파일을 전송하는 것이 가능하며, 인터페이스에 있어서는 사이트 및 디스크를 신속하게 파악할 수 있으며 드래그 드롭 기능을 지원하여 편리하다. 속도가 빠르며 4GB이상의 대용량 파일도 무리 없이 전송 처리 할 수 있다. 원격으로 파일을 검색할 수 있고 필터링이 가능하다는 장점 이 있다. 반면 전송예약을 할 수 없다는 단점이 있다.<ref>it-Fix, 〈[https://itfix.tistory.com/291 파일질라(FileZilla)무료FTP 파일전송 프로그램 소개]〉, 《IT ERROR FIX》, 2019-09-05 </ref>
+
[[파일질라]](File Zilla)는 현재 가장 많이 사용하는 클라이언트이다. 파일질라는 그래픽 유저 인터페이스(GUI Graphic User Interface) SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 기반의 프로그램이다. 이 프로그램을 사용하여 모든 파일을 전송하는 것이 가능하며, 인터페이스에서는 사이트 및 디스크를 신속하게 파악할 수 있으며 드래그 앤드 드롭 기능을 지원하여 편리하다. 속도가 빠르며 4GB 이상의 대용량 파일도 무리 없이 전송 처리 할 수 있다. 원격으로 파일을 검색할 수 있고 필터링이 가능하다는 장점이 있다. 반면 전송예약을 할 수 없다는 단점이 있다.<ref>it-Fix, 〈[https://itfix.tistory.com/291 파일질라(FileZilla)무료FTP 파일전송 프로그램 소개]〉, 《티스토리》, 2019-09-05 </ref>
  
 
===WinSCP===
 
===WinSCP===
WinSCP는 Windows용 그래픽 유저 인터페이스 SFTP FTP 클라이언트 프로그램이고 오픈소스 프리웨어이다. 레거시 SCP 프로토콜 역시 지원하며, 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있다.
+
[[WinSCP]]는 윈도우 기반의 환경에서 SFTP, FTP SSH 등의 프로토콜로 파일을 전송하는 클라이언트 프로그램이다. WinSCP는 누구나 자유롭게 다운로드하여 사용할 수 있는 프리웨어이다. 또한 오픈소스 기반이므로 WinSCP의 소스도 누구나 다운로드받아서 활용할 수 있다. 윈도우 기반의 프로그램이기 때문에 그래픽 유저 인터페이스 환경에서 동작하며 서버에 접속하여 파일을 주고받는 게 매우 편리하다. WinSCP는 [[아마존웹서비스]](AWS) S3 서버의 클라이언트 기능도 지원한다. 만약 사용자가 S3 서버의 계정을 보유하고 있다면 S3 서버로 파일 전송 수신이 가능하다. 그리고 가장 편리한 점 중 하나는 [[리눅스]] PC나 서버에 SSH로 접속하여 파일을 주고받을 수 있다는 점이다. 리눅스 기반의 시스템끼리는 'scp' 명령어를 사용하여 파일을 주고받을 수 있지만 윈도우와 리눅스 시스템 간의 파일 전송은 다소 불편한 부분이 있었다. 이때 WinSCP를 SSH로 접속하여 사용하면 리눅스 기반의 시스템과 매우 편리하게 파일 전송을 할 수 있다.<ref> 코드도사, 〈[https://codedosa.com/1050 SSH로 파일 전송을 할 수 있는 WinSCP 소개 및 사용법]〉, 《디스커스》, 2020-05-28 </ref> 레거시 SCP 프로토콜도 지원하며, 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있다. 그리고 드래그 앤드 드롭, URL, 바로 가기 아이콘 등 윈도우 운영체제와 통합 환경 다국어를 지원하고 있다. 또한 배치 파일 스크립트와 명령 줄 인터페이스(CLI Command Line Interface), 고급 프로그래밍 작업을 위한 닷넷 어셈블리를 지원한다. 자동으로 일부 또는 전체 디렉터리를 동기화해 주고, 옵션에서 기본 암호로 세션 정보 저장 보호 기능을 지원한다. 시큐어셸과 관련해서 암호, 키보드 대화식(keyboard-interactive), 공개키 커버로스(Kerberos GSS) 인증을 지원하고 윈도우 탐색기 및 노턴 커맨더(Norton Commander) 형태의 인터페이스를 지원한다. 옵션에서 레지스트리 대신 구성 파일(INI)을 사용한 독립적인 실행 지원으로 이동식 저장 장치에서 실행할 수 있다.<ref>WinSCP 공식 홈페이지 - https://winscp.net/eng/docs/lang:ko </ref>
* 그래픽 유저 인터페이스(GUI)
 
* 다국어 지원
 
* Windows 운영체제와 통합 환경 지원(드래그 드롭, URL, 바로 가기 아이콘)
 
* 모든 일반적인 파일 작업 지원
 
* SSH-1과 SSH-2를 통한 SFTP SCP 프로토콜, 기존 FTP 프로토콜, WebDAV 프로토콜 지원
 
* 배치 파일 스크립트와 명령 줄 인터페이스, 고급 프로그래밍 작업을 위한 .NET 어셈블리 지원
 
* 자동으로 일부 또는 전체 디렉터리 동기화
 
* 통합된 텍스트 편집기
 
* SSH 암호, 키보드 대화식(keyboard-interactive), 공개 키 및 Kerberos(GSS) 인증 지원
 
* SSH를 통한 공개키 인증을 완벽하게 지원하는 PAGEANT(PuTTY 인증 에이전트)와 통합
 
* Windows 탐색기 및 Norton Commander 형태의 인터페이스 지원
 
* 옵션에서 기본 암호로 세션 정보 저장 보호 기능 지원
 
* 옵션에서 레지스트리 대신 구성 파일(INI)을 사용한 독립적인 실행 지원으로 이동식 저장장치에서 실행 가능<ref>Jinsup Park, 〈[https://winscp.net/eng/docs/lang:ko WinSCP소개]〉, 《WinSCP》, 2018-11-08 </ref>
 
  
 
===알드라이브===
 
===알드라이브===
편리한 파일 전송 클라이언트라고 소개하는[[알드라이브]]이다. 클라이언트와 서버 간의 파일 송수신 기능 외에, WebDAV 등 다양한 프로토콜 파일 전송을 지원한다. S3, Ucloud Biz, T-cloudbiz(Easy Storage) 등 대중화된 서비스도 알드라이브에서 한번에 편리하게 접속해 사용할 수 있지만, 문제가 많은 것으로 알려져 있다.
+
[[알드라이브]](ALDrive)는 [[㈜이스트소프트]](ESTsoft)에서 개발한 파일 전송 클라이언트이다. 클라이언트와 서버 간의 파일 송수신 기능 외에, WebDAV 등 다양한 프로토콜 파일 전송을 지원한다. S3, 유클라우드비즈(Ucloud Biz), 티-클라우드비즈(T-cloudbiz) 등 대중화된 서비스도 알드라이브에서 한 번에 편리하게 접속해 사용할 수 있지만, 업데이트를 자주 하지 않아 문제가 많은 것으로 알려져 있다. 기존의 알 FTP와 차별화된 사용자 인터페이스를 가지고 있으며 스킨을 개편한 심플한 사용자 인터페이스를 가진다. 또한 FTP, FTP over SSL(Secure Sockets Layer)/TLS(Transport Layer Security), SFTP, 웹 분산 저작 및 버전 관리(WebDAV, Web Distributed Authoring and Versioning) 형식을 지원하여 다양한 프로토콜을 지원한다. 파일 전송 진행 상황 및 내용을 '전송창'에서 한눈에 확인할 수 있으며, 가져오기를 통해 타제품 사이트 정보를알 드라이브에서도 쉽게 사용 가능하다. 여러 개의 사이트도 동시에 접속할 수 있다. 그리고 여러 개 접속된 사이트를 탭 방식 레이아웃을 이용해 드래그 앤드 드롭(Drag&Drop) 방식으로 편리하게 조작할 수 있다.<ref>알툴즈 공식 홈페이지 - https://www.altools.co.kr/download/ALDrive.aspx</ref>
* 기존 알FTP와 차별화된 UI와 스킨을 개편한 심플한 UI
 
* FTP, FTP over SSL(Secure Sockets Layer)/TLS(Transport Layer Security), SFTP, WebDAV 형식을 지원해 다양한 프로토콜 지원
 
* 파일 전송 진행 상황 및 내역을 '전송창'에서 한눈에 확인가능
 
* 가져오기를 통해 타제품 사이트 정보를 알드라이브에서도 쉽게 사용 가능
 
* 여러 개의 사이트를 동시에 접속 가능
 
* 여러 개 접속된 사이트를 탭 방식 레이아웃을 이용해 Drag & Drop 방식으로 편리하게 조작 가능
 
  
===RaiDrive===
+
===레이 드라이브===
주 기능은 클라우드 스토리지를 윈도우 탐색기에 마운트 시켜주는 것이지만, FTP와 SFTP도 지원한다.
+
[[레이 드라이브]](Rai Drive)는 [[오픈박스연구소]](OpenBoxLab)에서 개발한 윈도우용 클라우드 스토리지 게이트웨이(cloud storage gateway) 소프트웨어이다. 윈도우의 기본 기능으로 연결하기 어렵가니 불가능한 원격 스토리지를 윈도우 파일 탐색기의 네트워크 드라이브로 만들어 준다. 레이드라이브에서 사용 가능한 클라우드 서비스는 [[구글 드라이브]](Google Drive), [[구글 팀드라이브]](Google Team Drive), [[원드라이브]](OneDrive), [[드롭박스]](Dropbox)이며, [[구글 포토]](Google Photos)도 추가로 사용 가능하다. 또한 WebDAV, FTP/FTPS, SFTP를 지원하는 [[나스]](NAS), 공유기와 같은 장비를 윈도우즈 드라이브처럼 사용할 수 있게 만들어 준다. 레이드라이브를 사용하면 클라우드 스토리지의 모든 파일을 다운로드할 필요가 없다. 클라우드 스토리지를 네트워크 드라이브로 연결하여 바로 사용할 수 있다. 그렇기 때문에 [[아래아한글]], [[워드]], [[엑셀]], [[파워포인트]], [[포토샵]] 같은 프로그램으로 파일을 즉시 편집하고 저장할 수 있다. 물론 파일을 복사하고 옮기는 것도 가능하다. 레이드라이브는 보안성이 높아 안전하다. [[구글]](Google), [[마이크로소프트]](Microsoft), 드롭박스가 파일을 보호하고 있다. 또한 [[브라우저]]보다 속도가 빠르다. 스토리지를 선택하고 확인을 눌러, 두 번만에 드라이브를 만들 수 있다. 절차를 간소화하여 보다 쾌적한 사용 환경을 제공한다. 개인 및 기업을 포함해 무료로 제공하고 있다.<ref> 어떤오후, 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=17739701 '레이드라이브(RaiDrive)'로 잠자고 있는 클라우드를 깨우자]〉, 《네이버 포스트》, 2019-01-30 </ref>
  
 
===Xftp===
 
===Xftp===
FTP와 SFTP 프로토콜을 지원하며 사용하기 쉬운 UI 및 Xshell과의 연동 가능. 개인 사용자에 한해 무료이다.
+
[[Xftp]]는 [[㈜넷사랑컴퓨터]](NetSarang Computer)에서 개발한 파일 전송 클라이언트이다. FTP와 SFTP 프로토콜을 지원하며 직관적이고 편리한 인터페이스로 쉽게 적응이 가능하여 다른 프로그램과 다르게 기능의 위치라든지 용도에 대해 파악하는 것이 빠르다. 어태치 디태치가 가능한 탭 기능의 인터페이스로 여러 세션을 띄워 놓아도 관리가 복잡하지 않다. 보통 폴더 트리에서 폴더가 많아질 경우 길어지는 스크롤 때문에 마우스 휠을 굴려야 하는데, Xftp는 폴더 트리가 좌측에 있기 때문에 훨씬 더 많은 폴더를 볼 수 있다. 특히 세션 관리라는 기능에 특화되어 있어 각 서버 간의 설정을 따로 세션 파일로 만들어서 관리할 수 있다는 장점이 있다. 공개키 인증을 경우 일일히 패스워드를 입력하는 번거로움이 없도록 Xagent라는 기능을 통해 원하는 시기에 공개키 인증을 허용 및 차단하여 세션 파일을 열기만 해도 서버에 자동으로 공개키 인증이 되는 기능도 지원하고 있다. 또한 텍스트 파일을 자신이 원하는 텍스트 에디터로 변경하여 서버상에서 바로 편집 및 저장이 가능하다. 또한 파일 전송 로그를 별도의 텍스트 파일로 저장하여 전송 상태에 대해서 로그 파일을 통하여 파악할 수 있다. 그리고 FTP와 SFTP 세션을 파일로 개별 관리할 수 있는 기능이 있어 각 세션 파일마다의 설정을 따로 지정해 줄 수 있다. 이외에도 동시 전송 기능, 동기화 기능, Xshell과의 연동 기능 등으로 웬만한 기능은 갖추어져 있으며, 공식 홈페이지에서는 라이센스 구매자의 요구 사항이나 문의 사항이 있을 경우에 대한 기술 지원 서비스도 이루어지고 있다.<ref> JooTC, 〈[https://jootc.com/p/20170529246 Xftp 파일전송 클라이언트로 간편하게 서버에 파일 전송하기]〉, 《Jootc》, 2017-05-29 </ref>
 
 
===Termius===
 
원래는 SSH 클라이언트이지만 프리미엄 플랜은 내장된 SFTP를 사용할 수 있다.<ref name="ftp">〈[https://namu.wiki/w/FTP FTP]〉, 《나무위키》</ref>
 
 
 
==동작원리==
 
기존의 FTP와 접속 방식과 같지만 FTP 서버에서 SFTP를 지원해야 한다.
 
SSH는 다른컴퓨터와 통신을 하기위해 접속을 때 우리가 일반적으로 사용하는 아이디나 비밀번호의 입력을 통한 접속을 하지 않는다. SSH는 Private Key와 Public Key를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 된다.
 
* SSH Key : 서버에 접속 할 때 비밀번호 대신 key를 제출하는 방식. 비밀번호보다 높은 수준의 보안을 필요로 할 때, 로그인 없이 자동으로 서버에 접속 할 때 사용한다.
 
* Public Key : 공개되어도 비교적 안전한 Key이다. Public Key를 이용해 암호화를 하지만 복호화(해독)은 불가능하다.
 
* Private Key : 절대로 외부에 노출이 되어서는 안되는 Key로 본인의 컴퓨터 내부에 저장하게 되어 있으며 암호화된 메시지를 복호화 할 수 있다.
 
 
 
공개키와 개인키 사이에는 복잡한 수학적 관계가 있다. 먼저 Public Key를 통신하고자 하는 컴퓨터에 복사하여 저장한다. 그리고 요청을 보내는 클라이언트 컴퓨터에서 접속 요청을 할 때 응답을 하는 서버 컴퓨터에 복사되어 저장된 Public Key와 클라이언트 컴퓨터에 해당 Public Key와 쌍을 이루는 Private Key와 비교를 하여 서로 한 쌍의 Key인지 아닌지를 검사한다. 이렇게 서로의 Key를 확인하고 인증이 되면 두 컴퓨터 사이에 암호화된 채널이 형성되어 Key를 활용해 메시지를 암호화 하고 복호화 하며 안전하게 데이터를 주고 받을 수 있게 된다.<ref>by Won_^o^ , 〈[https://gaebal4.tistory.com/38 ftp, ftps, sftp(ssh) 개념 정리]〉, 《Coding Tips》, 2019-12-27 </ref>
 
  
==FTP와 SFTP의 주요 차이점==
+
===터미어스===
* FTP는 호스트간에 파일을 전송하기위한 보안 채널 을 제공하지 않지만, SFTP 프로토콜은 네트워크의 호스트간에 파일을 전송하기위한 보안 채널 을 제공한다.
+
[[터미어스]](Termius)는 명령어를 사용해 특정 서버에 접속하는 것을 지원하는 것은 물론 호스트 정보를 라벨과 함께 저장하여 더블 클릭만으로 원하는 서버에 접속할 수 있는 기능도 제공한다. 만약 접속해야 할 서버의 대수가 굉장히 많고 이들을 구분할 필요가 있다면 그룹을 추가하여 호스트 목록을 묶어서 관리할 수도 있다. 포트 포워딩 정책을 쉽게 관리할 수 있는 것도 장점이다. 특정한 호스트를 통해 포트 포워딩을 수행하려고 할 때 해당 호스트와 네트워크 입력을 받을 포트, 해당 네트워크 입력을 보내 줄 호스트의 주소와 포트를 적어 줌으로써 포트 포워딩 설정을 끝낼 수 있다. 물론 터미널 애뮬레이터를 이용해 수행할 수 있는 동작이지만, 이 정책들을 저장해 놓고 간단한 클릭만으로 접근할 수 있다는 것이 터미너스의 매력이다. 터미어스는 [[맥OS]](mac OS)뿐만 아니라 [[아이오에스]](iOS), [[안드로이드]](Android)용 앱도 제공하는데, 프리미엄 계정을 활성화한다면 맥OS 앱에서 설정한 호스트, 포트 포워딩 등의 여러 정보를 모바일과 공유할 수 있다. 그 외에도 프리미엄 계정을 사용하면 SFTP 기능, 동기화되는 스니펫(snippet) 기능과 모바일에서 사용할 수 있는 여러 기능들이 활성화되게 된다. 다만 프리미엄 계정을 사용하기 위해서는 월 7달러를 지불하거나 연 60달러를 지불해야 한다. 일반 사용자에게는 부담되는 금액일 뿐 아니라, 1회성 구매가 아니라 구독 방식의 요금제이기 때문에 더 부담이 크다. 다만 기본적인 기능들은 프리미엄 계정이 아니라도 사용할 수 있고, 별도의 광고가 붙어서 사용을 귀찮게 한다거나 하는 일도 없기 때문에 모바일 기기와 연동해서 사용할 필요성이 크지 않고, 별도의 SFTP 클라이언트를 사용하고 있다면 무료 버전으로도 충분히 만족할 수 있다.<ref> 닥터몰라, 〈[https://macnews.tistory.com/5728 (부분무료) 멀티 플랫폼 SSH 클라이언트: Termius]〉, 《티스토리》, 2019-04-07 </ref>
* FTP는 파일 전송 프로토콜(File Transfer Protocol )의 약자이며, SFTP는 Secure File Transfer Protocol(보안 파일 전송 프로토콜 )의 약자이다.
 
* FTP 프로토콜은 TCP / IP에서 제공하는 서비스이지만, SFTP는 원격 로그인 정보 인 SSH 프로토콜 의 일부이다.
 
* FTP는 TCP 포트 21 에서 제어 연결을 사용하여 연결하지만, SFTP는 클라이언트와 서버간에 SSH 프로토콜에 의해 설정된 보안 연결로 파일을 전송한다.
 
* FTP는 암호와 데이터를 일반 텍스트 형식으로 전송하지만, SFTP는 데이터를 다른 호스트로 보내기 전에 암호화 한다.
 
* FTP는 속도면에서 빠르나 보안면에서 약하고, SFTP는 보안면에서 우수하나 속도면에서 느리다.<ref>Gadget-info.com, 〈[https://ko.gadget-info.com/difference-between-ftp FTP와 SFTP의 차이점]〉, 《Gadget-info.com》, 2019 </ref>
 
  
==장단점==
+
==관련 기술==
===장점===
 
* [[SSH]] 기반이기 때문에 퍼미션 변경에서  더 강력해 진다.(특히 root계정일때.)
 
* 외부에서도 파일관리가 편해진다.
 
* 서버의 시스템 관리가 더 편리해 진다.(root 계정일 경우)<ref>코딩하는소진이, 〈[https://coding-sojin2.tistory.com/entry/FTP-FTPS-SFTP(Network) FTP & FTPS & SFTP]〉, 《코딩하는 소진이》, 2020-10-12 </ref>
 
* 운영의 대부분(모두는 아니지만) 측면을 엄격하게 정의하는 좋은 표준 배경을 가지고 있다.
 
* 하나의 연결 만 있음(DATA 연결 필요 없음)
 
* 클라리언트와 서버와의 연결은 항상 보호된다.
 
* 디렉토리 목록은 균일하고 기계가 읽을 수 있다.
 
* 프로토콜에는 권한 및 속성 조작, 파일 잠금 및 기타 기능이 있다
 
 
 
===단점===
 
* '''속도가 느리다''' : 속도가 보안을 위해서 키를 주고받고 암호화 복호화 과정을 거치기 때문에 속도가 느릴 수 밖에 없다.
 
* 통신은 바이너리이며 사람이 읽을 수 있도록 "있는 그대로"기록 할 수 없다.
 
* SSH 키는 관리 및 검증이 더 어렵다. :
 
* 표준은 특정 사항을 선택 사항 또는 권장 사항으로 정의하므로 서로 다른 공급 업체의 서로 다른 소프트웨어 타이틀간에 특정 호환성 문제가 발생한다.
 
* 서버 간 복사 및 반복적 인 디렉토리 제거 작업 없다.
 
* VCL 및 .NET 프레임 워크에서 기본 제공 SSH / SFTP 지원 없다.<ref> NuTTyX, 〈[https://www.thefastcode.com/ko-krw/article/what-is-the-difference-between-ftps-and-sftp FTPS와 SFTP의 차이점은 무엇입니까?]〉 ,《THE FAST CODE》, 2014-08-18 </ref>
 
 
 
==SFTP의 응용==
 
* 국가 안보와 관련하여 서로 다른 주 군부 내에서 데이터를 공유하고 정부 기관 간에 법률 및 재무 데이터를 공유하는 등 두 호스트간에 민감한 데이터를 전송하는 데 사용된다.
 
* 조직과 규제 기관간에 감사 데이터 및 보고서를 실행하고 공유하는 데 사용됩니다.
 
* SFTP 도구의 가장 매력적인 응용 프로그램 중 하나는 여기에서 파일과 디렉터리를 만들고, 삭제하고, 가져오고, 내보낼 수 있다는 것이다. 이는 빅 데이터 파일의 저장 기능뿐만 아니라 액세스 자격 증명 만 있으면 어디서든 액세스 할 수있는 유연성을 제공한다.
 
* SEEBURGER 및 Cyberduck과 같은 응용 프로그램에서도 클라우드 컴퓨팅에 사용됩니다.
 
* Filezilla 및 WinSCP는 조직에서 파일 관리 및 파일 공유를 위해 가장 일반적으로 사용하는 응용 프로그램 소프트웨어이다.
 
* 업그레이드 된 인증 프로세스를 사용하여 두 호스트간에 비밀 파일 공유도 가능합니다.<ref name="myserve"></ref>
 
 
 
==유사 기술==
 
 
===FTP===
 
===FTP===
FTP란 file transfer protocol의 약자이며 인터넷 망으로 연결되어 있는 멀리 떨어져 있는 서버로 파일을 올리거나 가져오기 위해 필요한 일종의 프로토콜이다. SFTP와 같이 파일을 송/수신 하지만 TCP/IP를 사용한다는 점에서 SFTP와 차이가 있다.<ref name="ftp"></ref>
+
FTP는 인터넷망으로 연결된 멀리 떨어져 있는 서버로 파일을 올리거나 가져오기 위해 필요한 일종의 프로토콜이다. SFTP와 같이 파일을 송수신하지만 [[TCP/IP]]를 사용한다는 점에서 SFTP와 차이가 있다.<ref> 〈[https://namu.wiki/w/FTP FTP]〉, 《나무위키》 </ref>
  
 
===FTPS===
 
===FTPS===
FTPS는 HTTPS와 동일한 개념으로 TLS/SSL을 거쳐서 공개키 암호화 방식을 이용하여 통신 라인을 거쳐다는 21번, 20번 포트를 안전하게 암호화 한다는 말이다. 인터넷 프로토콜 초기부터 사용되기 시작 했으며, 사용자 인증, 데이터의 전환, 디렉토리 검색 등과 많은 기능 및 선택사항을 제공. 표준 RFC 959에 그 자세한 내용이 기술되어있다.<ref name="cha"></ref>
+
FTPS는 [[HTTPS]](HyperText Transfer Protocol Secure)와 같은 개념으로 TLS/SSL을 거쳐서 공개키 암호화 방식을 이용하여 통신 라인을 거쳐 21번, 20번 포트를 안전하게 암호화하는 것이다. 인터넷 프로토콜 초기부터 사용되기 시작했으며, 사용자 인증, 데이터의 전환, 디렉터리 검색 등과 많은 기능 및 선택사항을 제공. 표준 RFC 959에 그 자세한 내용이 기술되어있다.<ref name="cha"></ref>
  
 
===TFTP===
 
===TFTP===
UDP 상에서 이루어지는 간단한 파일전송프로토콜(File Transfer Protocol). 통상 클라이언트/서버 간에 FTP 같이 복잡한 상호동작이 필요하지 않는 응용에 많이 사용. 한편, FTP는 TCP/IP 상에서 비교적 복잡하게 동작 함. 단순한 파일 전송 기능만 제공. 인증기능 미제공(사용자 이름 및 비밀번호 확인 없이 파일 전송), 프로그램이 간결하고 규모가 작음. 에러제어 흐름제어 방식으로는 Stop and Wait 방식 사용. <ref name="cha">차재복, 〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=1835 TFTP, tftp  Trivial File Transfer Protocol ]〉, 《정보통신기술용어》, 2019-04-26 </ref>
+
TFTP는 [[UDP]](User Datagram Protocol) 상에서 이루어지는 간단한 파일전송프로토콜(FTP)이다. 통상 클라이언트나 서버 간에 FTP와 같이 복잡한 상호 동작이 필요하지 않은 응용에 많이 사용된다. 한편, FTP는 TCP/IP 상에서 비교적 복잡하게 동작한다. TFTP는 단순한 파일 전송 기능만 제공한다. 그리고 인증 기능을 미제공하여 사용자 이름 및 비밀번호의 확인 없이 파일을 전송하며, 프로그램이 간결하고 규모가 작다. 에러 제어 흐름 제어 방식으로는 스탑 앤드 웨이트(Stop and Wait) 방식을 사용한다.<ref name="cha">차재복, 〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=1835 TFTP, tftp  Trivial File Transfer Protocol ]〉, 《정보통신기술용어》, 2019-04-26 </ref>
 +
 
 +
==비교==
 +
:{|class=wikitable width=800
 +
|+FTP와 SFTP 비교<ref>Gadget-info.com, 〈[https://ko.gadget-info.com/difference-between-ftp FTP와 SFTP의 차이점]〉, 《Gadget-info.com》, 2019 </ref>
 +
!align=center style= "background-color:#cceeee"|구분
 +
!align=center style= "background-color:#cceeee"|FTP
 +
!align=center style= "background-color:#cceeee"|SFTP
 +
|-
 +
|align=center|기본
 +
|align=center|호스트 간 파일을 전송하기 위한<br> 보안 채널을 제공하지 않음
 +
|align=center|호스트 간 파일을 전송하기 위한<br> 보안 채널을 제공
 +
|-
 +
|align=center|전체 양식
 +
|align=center|파일 전송 프로토콜
 +
|align=center|보안 파일 전송 프로토콜
 +
|-
 +
|align=center|실험 계획안
 +
|align=center|TCP/IP 프로토콜
 +
|align=center|SFTP 프로토콜은 SSH 프로토콜의 일부
 +
|-
 +
|align=center|연결
 +
|align=center|TCP 포트 21에서 제어 연결 설정
 +
|align=center|클라이언트와 서버 간 SSH 프로토콜에 의해<br> 설정된 연결로 파일을 전송
 +
|-
 +
|align=center|암호화
 +
|align=center|암호 및 데이터가 일반 텍스트 형식으로 전송
 +
|align=center|전송하기 전에 데이터를 암호화
 +
|-
 +
|align=center|속도
 +
|align=center|빠름
 +
|align=center|느림
 +
|-
 +
|align=center|보안
 +
|align=center|약함
 +
|align=center|강함
 +
|}
 +
 
 +
==응용==
 +
국가 안보와 관련하여 서로 다른 주 군부 내에서 데이터를 공유하고 정부 기관 간에 법률 및 재무 데이터를 공유하는 등 두 호스트 간에 민감한 데이터를 전송하는 데 사용된다. 그리고 조직과 규제 기관 간에 감사 데이터 및 보고서를 실행하고 공유하는 데 사용되기도 한다. SFTP 도구의 가장 매력적인 응용 프로그램 중 하나는 한 곳에서 파일과 디렉터리를 만들고, 삭제하고, 가져오고, 내보낼 수 있다는 것이다. 이는 [[빅데이터]] 파일의 저장 기능뿐만 아니라 액세스 자격 증명만 있으면 어디서든 액세스할 수 있는 유연성을 제공한다. [[씨버거]](Seeburger) 및 [[사이버덕]](Cyberduck)과 같은 응용 프로그램에서도 클라우드 컴퓨팅에 사용된다. 파일질라 및 WinSCP에서 업그레이드된 인증 프로세스를 사용하여 두 호스트 간에 비밀 파일 공유도 가능하다.<ref name="myserve"></ref>
  
 
{{각주}}
 
{{각주}}
  
 
==참고자료==
 
==참고자료==
 +
* 〈[https://nhj12311.tistory.com/76 SSH 파일 전송 프로토콜]〉, 《위키백과》
 +
* 〈[https://namu.wiki/w/FTP FTP]〉, 《나무위키》
 +
* 알툴즈 공식 홈페이지 - https://www.altools.co.kr/download/ALDrive.aspx
 
* IT's me, 〈[https://nhj12311.tistory.com/76 ftp, ftps, sftp(ssh) 개념정리]〉, 《dev》, 2019-08-07
 
* IT's me, 〈[https://nhj12311.tistory.com/76 ftp, ftps, sftp(ssh) 개념정리]〉, 《dev》, 2019-08-07
 
* myservername.com, 〈[https://ko.myservername.com/what-is-sftp-port-number SFTP(Secure File Transfer Protocol) 및 포트 번호 란?]〉, 《myservername.com》
 
* myservername.com, 〈[https://ko.myservername.com/what-is-sftp-port-number SFTP(Secure File Transfer Protocol) 및 포트 번호 란?]〉, 《myservername.com》
* 이성덕, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sdug12051205&logNo=221547447476 FTP(File Transfer Protocol) 및 SFTP(Secure FTP)]〉, 《이성덕 정보관리기술자》, 2019-05-27  
+
* 이성덕, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sdug12051205&logNo=221547447476 FTP(File Transfer Protocol) 및 SFTP(Secure FTP)]〉, 《네이버 블로그》, 2019-05-27  
* 〈[https://nhj12311.tistory.com/76 SSH 파일 전송 프로토콜]〉, 《위키백과》
+
* it-Fix, 〈[https://itfix.tistory.com/291 파일질라(FileZilla)무료FTP 파일전송 프로그램 소개]〉, 《티스토리》, 2019-09-05  
* it-Fix, 〈[https://itfix.tistory.com/291 파일질라(FileZilla)무료FTP 파일전송 프로그램 소개]〉, 《IT ERROR FIX》, 2019-09-05  
+
* WinSCP 공식 홈페이지 - https://winscp.net/eng/docs/lang:ko
* Jinsup Park, 〈[https://winscp.net/eng/docs/lang:ko WinSCP소개]〉, 《WinSCP》, 2018-11-08
+
* by Won_^o^ , 〈[https://gaebal4.tistory.com/38 ftp, ftps, sftp(ssh) 개념 정리]〉, 《티스토리》, 2019-12-27
*〈[https://namu.wiki/w/FTP FTP]〉, 《나무위키》
 
* by Won_^o^ , 〈[https://gaebal4.tistory.com/38 ftp, ftps, sftp(ssh) 개념 정리]〉, 《Coding Tips》, 2019-12-27
 
 
* Gadget-info.com, 〈[https://ko.gadget-info.com/difference-between-ftp FTP와 SFTP의 차이점]〉, 《Gadget-info.com》, 2019  
 
* Gadget-info.com, 〈[https://ko.gadget-info.com/difference-between-ftp FTP와 SFTP의 차이점]〉, 《Gadget-info.com》, 2019  
* 코딩하는소진이, 〈[https://coding-sojin2.tistory.com/entry/FTP-FTPS-SFTP(Network) FTP & FTPS & SFTP]〉, 《코딩하는 소진이》, 2020-10-12  
+
* 코딩하는소진이, 〈[https://coding-sojin2.tistory.com/entry/FTP-FTPS-SFTP(Network) FTP & FTPS & SFTP]〉, 《티스토리》, 2020-10-12  
*  NuTTyX, 〈[https://www.thefastcode.com/ko-krw/article/what-is-the-difference-between-ftps-and-sftp FTPS와 SFTP의 차이점은 무엇입니까?]〉 ,《THE FAST CODE》, 2014-08-18
+
*  NuTTyX, 〈[https://www.thefastcode.com/ko-krw/article/what-is-the-difference-between-ftps-and-sftp FTPS와 SFTP의 차이점은 무엇입니까?]〉 ,《TheFastCode》, 2014-08-18
 
* 차재복, 〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=1835 TFTP, tftp  Trivial File Transfer Protocol ]〉, 《정보통신기술용어》, 2019-04-26
 
* 차재복, 〈[http://www.ktword.co.kr/abbr_view.php?m_temp1=1835 TFTP, tftp  Trivial File Transfer Protocol ]〉, 《정보통신기술용어》, 2019-04-26
 +
* 어떤오후, 〈[https://post.naver.com/viewer/postView.nhn?volumeNo=17739701 '레이드라이브(RaiDrive)'로 잠자고 있는 클라우드를 깨우자]〉, 《네이버 포스트》, 2019-01-30
 +
* JooTC, 〈[https://jootc.com/p/20170529246 Xftp 파일전송 클라이언트로 간편하게 서버에 파일 전송하기]〉, 《Jootc》, 2017-05-29
 +
* 닥터몰라, 〈[https://macnews.tistory.com/5728 (부분무료) 멀티 플랫폼 SSH 클라이언트: Termius]〉, 《티스토리》, 2019-04-07
  
 
== 같이 보기 ==
 
== 같이 보기 ==
*[[포트]]
+
* [[FTP]]
 +
* [[SSH]]
 +
* [[포트]]
 +
* [[프로토콜]]
 +
* [[TCP]]
 +
* [[SSL]]
 +
* [[타투 일료넨]]
 +
* [[사미 레흐티넨]]
 +
* [[TCP/IP]]
 +
* [[HTTPS]]
 +
* [[UDP]]
  
{{인터넷}}
+
{{인터넷|검토 필요}}
 
[[분류:정보통신]]
 
[[분류:정보통신]]

2022년 4월 7일 (목) 14:03 기준 최신판

SFTP(Secure File Transfer Protocol)는 기존의 FTP보안 기능을 강화한 보안 파일 전송 프로토콜이다. '에스에프티피'라고 읽는다. 보안 FTP(Secure FTP)라고도 한다. SFTP는 파일 전송 시 로그인 정보나 파일 정보를 암호화한 후 시큐어셸(SSH Secure SHell) 프로토콜을 이용하여 전송하기 때문에, 기존의 FTP(File Transfer Protocol)보다 보안이 강화된 전송 방식이다. 포트 번호는 22번이다.

개요[편집]

SFTP는 시큐어셸을 이용하여 한 쌍의 키를 생성한 후 키를 이용하여 정보를 암호화하여 통신하는 기술이다. 시큐어셸은 텔넷(telnet)의 보안 버전이다. 시큐어셸에서 터널링을 하는 방법은 FTPS의 방식과 상당히 유사하다. 시큐어셸은 시큐어셸 사용자 인증 프로토콜, 시큐어셸 연결 프로토콜, 시큐어셸 전송 층 프로토콜로 3개의 프로토콜로 이루어져 있다. 첫 번째로 사용자 인증 프로토콜은 클라이언트, 측 사용자를 서버에게 인증한다. 사용자 인증 프로토콜 부분에서 공개키(public key), 패스워드, 호스트 인증 방식을 사용할 수 있다. SFTP는 결국 키를 교환하여 암호화한다는 점에서 FTPS와 맥을 같이하고 있다. 그러나 신원 확인용 스트링 교환이라는 부분이 다르다. 두 번째로 연결 프로토콜은 암호화된 터널을 여러 개의 논리적 채널로 다중화한다. 세 번째로 전송 프로토콜 부분은 서버 인증, 기밀성, 무결성을 제공하며 옵션으로 압축을 제공하기도 한다. 결국 SFTP는 시큐어셸 방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능을 이용할 수 있다. FTP, TFTP(Trivial File Transfer Protocol)의 취약점인 평문 전송의 문제점을 보완하여 시큐어셸을 통해 동작하는 FTP로, TCP 보안 채널(터널링)을 형성하여, 데이터의 안전한 전송을 가능하게 하는 파일 전송 프로토콜이다. 파일이 암호화되어있어 중간에 누군가 파일을 가로채더라도 파일을 해독할 수 없기 때문에 악용하거나 도용할 수 없다. 클라이언트 프로그램이 없더라도 윈도우(Windows)에서 기본적으로 제공하는 서비스를 사용할 수 있다. 하지만 초보자들은 사용하기 어려우므로 간단한 인터페이스와 편리하게 조작할 수 있는 클라이언트 프로그램을 사용하는 것이 좋다. 간혹 FTPS와 혼동하는 경우가 있는데, FTPS는 시큐어셸을 사용하지 않고, 22번 포트 대신 20번, 21번 포트를 사용한다는 점에서 SFTP와 완전히 다르다.[1]

역사[편집]

SFTP는 IETF의 참여 이전, 1995년 핀란드타투 일료넨(Tatu Ylönen) 시큐어셸 커뮤니케이션 시큐리티(SSH Communication Security) 회사의 사유 프로토콜이었다. 버전 0에서 2 프로토콜은 1997년 사미 레흐티넨(Sami Lehtinen)의 도움으로 타투 일료넨이 설계한 것이다. 버전 3 프로토콜은 IETF 시큐어셸 파일 전송 프로젝트의 시작으로, 서치 그룹은 시큐어셸 파일 전송 프로토콜의 목적이 신뢰할 수 있는 데이터 스트리밍에 안전한 파일 전송 기능을 제공하는 것이며 SSH-2 프로토콜을 사용한 표준 파일 전송 프로토콜이 되고자 함임을 언급하였다. 이외에도 버전 4, 버전 5 버전 6이 존재한다.[2] 기존의 FTP와 텔넷은 보안에 매우 취약했기 때문에 안전한 데이터 통신 방법인 시큐어셸을 개발하게 되었다. 시큐어셸 버전 2 프로토콜(RFC 4251)의 개발을 맡았던 IETF(Internet Engineering Task Force) 워킹 그룹 서치(Secsh)는 안전한 파일 전송 기능의 표준 확장에 대한 초안 작성을 시도했다. 인터넷 초안들이 만들어지면서 새로운 버전들로 이 프로토콜을 연이어 개정했다. 아직 초안이 표준화되기 전이었지만 소프트웨어 산업은 이 프로토콜의 다양한 버전들을 구현하기 시작했다. 개발이 진척됨에 따라 서치 파일 전송 프로젝트의 범위는 파일 접근과 파일 관리를 포함하는 데까지 확장되었다. 마침내 일부 위원회 구성원들이 SFTP를 단순히 파일 접근이나 파일 전송 프로토콜이 아닌 파일 시스템 프로토콜로 보기 시작하자 개발은 중단되었는데, 이는 전문가 집단의 범위를 넘어섰기 때문이다. 7년의 중단 기간이 있었지만, 2013년 버전 3 초안을 기본으로 하는 SFTP의 작업을 다시 시작하고자 하는 시도가 있었다.

원리[편집]

기존의 FTP와 접속 방식과 같지만 FTP 서버에서 SFTP를 지원해야 한다. 시큐어셸은 다른 컴퓨터와 통신을 하기 위해 접속을 할 때 우리가 일반적으로 사용하는 아이디나 비밀번호의 입력을 통한 접속을 하지 않는다. 시큐어셸은 개인키(Private Key)와 공개키를 통해 접속하려는 컴퓨터와 인증 과정을 거치게 된다. 시큐어셸 키(SSH Key)는 서버에 접속할 때 비밀번호 대신 키(key)를 제출하는 방식이다. 비밀번호보다 높은 수준의 보안이 필요할 때, 로그인 없이 자동으로 서버에 접속할 때 사용한다. 공개키는 공개되어도 비교적 안전한 키다. 공용 키를 이용해 암호화를 하지만 복호화은 불가능하다. 개인키는 절대로 외부에 노출이 되어서는 안 되는 키로 본인의 컴퓨터 내부에 저장하게 되어 있으며 암호화된 메시지를 복호화 할 수 있다. 공개키와 개인키 사이에는 복잡한 수학적 관계가 있다. 먼저 공개키를 통신하고자 하는 컴퓨터에 복사하여 저장한다. 그리고 요청을 보내는 클라이언트 컴퓨터에서 접속 요청을 할 때 응답을 하는 서버 컴퓨터에 복사되어 저장된 공개키와 클라이언트 컴퓨터에 해당 공개키와 쌍을 이루는 개인키와 비교를 하여 서로 한 쌍의 키인지 아닌지를 검사한다. 이렇게 서로의 키를 확인하고 인증이 되면 두 컴퓨터 사이에 암호화된 채널이 형성되어 키를 활용해 메시지를 암호화하고 복호화하며 안전하게 데이터를 주고받을 수 있게 된다.[3] 다음은 시스템이 데스크톱에서 SFTP 클라이언트를 구성하는데 필요한 정보이다.

  • 서버 호스트 이름 : 서버의 호스트 이름 또는 IP 주소 제공
  • 포트 번호 : 클라이언트가 연결하려는 TCP 포트
  • 보안 프로토콜 : 보안 연결을 설정할 프로토콜
  • 사용자 이름 : 클라이언트가 서버에 연결하려는 시큐어셸의 사용자 이름
  • 암호 : 사용자에게 할당된 번호[4]

특징[편집]

  • 포트 번호 : 22번
  • 기밀성 : 암호화를 통해 송수신되는 데이터의 기밀성 보장
  • 무결성 : 해시값 비교를 통해 데이터 위 변조 방지
  • 인증 : 서버와 클라이언트가 서로 생성한 임의의 문자열을 바탕으로 송신자 인증[5]

장점[편집]

  • 시큐어셸 기반이기 때문에 퍼미션 변경에서 더 강력해지는데, 특히 루트(root) 계정일 때 더욱 그렇다.
  • 외부에서도 파일 관리가 편해진다.
  • 루트 계정일 경우 서버의 시스템 관리가 더 편리해진다.[6]
  • 운영의 대부분의 측면을 엄격하게 정의하는 좋은 표준 배경을 가지고 있다.
  • 하나의 연결만 있다. 또한 데이터 연결이 필요 없다.
  • 클라이언트와 서버와의 연결은 항상 보호된다.
  • 디렉터리 목록은 균일하고 기계가 읽을 수 있다.
  • 프로토콜에는 권한 및 속성 조작, 파일 잠금 및 기타 기능이 있다

단점[편집]

  • 보안을 위해서 키를 주고받고 암호화 복호화 과정을 거치기 때문에 속도가 느리다.
  • 통신은 바이너리이며 사람이 읽을 수 있도록 '있는 그대로' 기록할 수 없다.
  • 시큐어셸 키는 관리 및 검증이 더 어렵다.
  • 표준은 특정 사항을 선택 사항 또는 권장 사항으로 정의하기 때문에 서로 다른 공급 업체의 서로 다른 소프트웨어 타이틀 간에 특정 호환성 문제가 발생한다.
  • 서버 간 복사 및 반복적인 디렉토리 제거 작업 없다.
  • 비주얼 컴포넌트 라이브러리(VCL) 및 닷넷(.NET)프레임 워크에서 기본 제공 시큐어셸 및 SFTP 지원이 없다.[7]

접속 클라이언트[편집]

파일질라[편집]

파일질라(File Zilla)는 현재 가장 많이 사용하는 클라이언트이다. 파일질라는 그래픽 유저 인터페이스(GUI Graphic User Interface) SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 기반의 프로그램이다. 이 프로그램을 사용하여 모든 파일을 전송하는 것이 가능하며, 인터페이스에서는 사이트 및 디스크를 신속하게 파악할 수 있으며 드래그 앤드 드롭 기능을 지원하여 편리하다. 속도가 빠르며 4GB 이상의 대용량 파일도 무리 없이 전송 처리 할 수 있다. 원격으로 파일을 검색할 수 있고 필터링이 가능하다는 장점이 있다. 반면 전송예약을 할 수 없다는 단점이 있다.[8]

WinSCP[편집]

WinSCP는 윈도우 기반의 환경에서 SFTP, FTP SSH 등의 프로토콜로 파일을 전송하는 클라이언트 프로그램이다. WinSCP는 누구나 자유롭게 다운로드하여 사용할 수 있는 프리웨어이다. 또한 오픈소스 기반이므로 WinSCP의 소스도 누구나 다운로드받아서 활용할 수 있다. 윈도우 기반의 프로그램이기 때문에 그래픽 유저 인터페이스 환경에서 동작하며 서버에 접속하여 파일을 주고받는 게 매우 편리하다. WinSCP는 아마존웹서비스(AWS) S3 서버의 클라이언트 기능도 지원한다. 만약 사용자가 S3 서버의 계정을 보유하고 있다면 S3 서버로 파일 전송 및 수신이 가능하다. 그리고 가장 편리한 점 중 하나는 리눅스 PC나 서버에 SSH로 접속하여 파일을 주고받을 수 있다는 점이다. 리눅스 기반의 시스템끼리는 'scp' 명령어를 사용하여 파일을 주고받을 수 있지만 윈도우와 리눅스 시스템 간의 파일 전송은 다소 불편한 부분이 있었다. 이때 WinSCP를 SSH로 접속하여 사용하면 리눅스 기반의 시스템과 매우 편리하게 파일 전송을 할 수 있다.[9] 레거시 SCP 프로토콜도 지원하며, 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있다. 그리고 드래그 앤드 드롭, URL, 바로 가기 아이콘 등 윈도우 운영체제와 통합 환경 및 다국어를 지원하고 있다. 또한 배치 파일 스크립트와 명령 줄 인터페이스(CLI Command Line Interface), 고급 프로그래밍 작업을 위한 닷넷 어셈블리를 지원한다. 자동으로 일부 또는 전체 디렉터리를 동기화해 주고, 옵션에서 기본 암호로 세션 정보 저장 보호 기능을 지원한다. 시큐어셸과 관련해서 암호, 키보드 대화식(keyboard-interactive), 공개키 및 커버로스(Kerberos GSS) 인증을 지원하고 윈도우 탐색기 및 노턴 커맨더(Norton Commander) 형태의 인터페이스를 지원한다. 옵션에서 레지스트리 대신 구성 파일(INI)을 사용한 독립적인 실행 지원으로 이동식 저장 장치에서 실행할 수 있다.[10]

알드라이브[편집]

알드라이브(ALDrive)는 ㈜이스트소프트(ESTsoft)에서 개발한 파일 전송 클라이언트이다. 클라이언트와 서버 간의 파일 송수신 기능 외에, WebDAV 등 다양한 프로토콜 파일 전송을 지원한다. S3, 유클라우드비즈(Ucloud Biz), 티-클라우드비즈(T-cloudbiz) 등 대중화된 서비스도 알드라이브에서 한 번에 편리하게 접속해 사용할 수 있지만, 업데이트를 자주 하지 않아 문제가 많은 것으로 알려져 있다. 기존의 알 FTP와 차별화된 사용자 인터페이스를 가지고 있으며 스킨을 개편한 심플한 사용자 인터페이스를 가진다. 또한 FTP, FTP over SSL(Secure Sockets Layer)/TLS(Transport Layer Security), SFTP, 웹 분산 저작 및 버전 관리(WebDAV, Web Distributed Authoring and Versioning) 형식을 지원하여 다양한 프로토콜을 지원한다. 파일 전송 진행 상황 및 내용을 '전송창'에서 한눈에 확인할 수 있으며, 가져오기를 통해 타제품 사이트 정보를알 드라이브에서도 쉽게 사용 가능하다. 여러 개의 사이트도 동시에 접속할 수 있다. 그리고 여러 개 접속된 사이트를 탭 방식 레이아웃을 이용해 드래그 앤드 드롭(Drag&Drop) 방식으로 편리하게 조작할 수 있다.[11]

레이 드라이브[편집]

레이 드라이브(Rai Drive)는 오픈박스연구소(OpenBoxLab)에서 개발한 윈도우용 클라우드 스토리지 게이트웨이(cloud storage gateway) 소프트웨어이다. 윈도우의 기본 기능으로 연결하기 어렵가니 불가능한 원격 스토리지를 윈도우 파일 탐색기의 네트워크 드라이브로 만들어 준다. 레이드라이브에서 사용 가능한 클라우드 서비스는 구글 드라이브(Google Drive), 구글 팀드라이브(Google Team Drive), 원드라이브(OneDrive), 드롭박스(Dropbox)이며, 구글 포토(Google Photos)도 추가로 사용 가능하다. 또한 WebDAV, FTP/FTPS, SFTP를 지원하는 나스(NAS), 공유기와 같은 장비를 윈도우즈 드라이브처럼 사용할 수 있게 만들어 준다. 레이드라이브를 사용하면 클라우드 스토리지의 모든 파일을 다운로드할 필요가 없다. 클라우드 스토리지를 네트워크 드라이브로 연결하여 바로 사용할 수 있다. 그렇기 때문에 아래아한글, 워드, 엑셀, 파워포인트, 포토샵 같은 프로그램으로 파일을 즉시 편집하고 저장할 수 있다. 물론 파일을 복사하고 옮기는 것도 가능하다. 레이드라이브는 보안성이 높아 안전하다. 구글(Google), 마이크로소프트(Microsoft), 드롭박스가 파일을 보호하고 있다. 또한 브라우저보다 속도가 빠르다. 스토리지를 선택하고 확인을 눌러, 두 번만에 드라이브를 만들 수 있다. 절차를 간소화하여 보다 쾌적한 사용 환경을 제공한다. 개인 및 기업을 포함해 무료로 제공하고 있다.[12]

Xftp[편집]

Xftp㈜넷사랑컴퓨터(NetSarang Computer)에서 개발한 파일 전송 클라이언트이다. FTP와 SFTP 프로토콜을 지원하며 직관적이고 편리한 인터페이스로 쉽게 적응이 가능하여 다른 프로그램과 다르게 기능의 위치라든지 용도에 대해 파악하는 것이 빠르다. 어태치 디태치가 가능한 탭 기능의 인터페이스로 여러 세션을 띄워 놓아도 관리가 복잡하지 않다. 보통 폴더 트리에서 폴더가 많아질 경우 길어지는 스크롤 때문에 마우스 휠을 굴려야 하는데, Xftp는 폴더 트리가 좌측에 있기 때문에 훨씬 더 많은 폴더를 볼 수 있다. 특히 세션 관리라는 기능에 특화되어 있어 각 서버 간의 설정을 따로 세션 파일로 만들어서 관리할 수 있다는 장점이 있다. 공개키 인증을 할 경우 일일히 패스워드를 입력하는 번거로움이 없도록 Xagent라는 기능을 통해 원하는 시기에 공개키 인증을 허용 및 차단하여 세션 파일을 열기만 해도 서버에 자동으로 공개키 인증이 되는 기능도 지원하고 있다. 또한 텍스트 파일을 자신이 원하는 텍스트 에디터로 변경하여 서버상에서 바로 편집 및 저장이 가능하다. 또한 파일 전송 로그를 별도의 텍스트 파일로 저장하여 전송 상태에 대해서 로그 파일을 통하여 파악할 수 있다. 그리고 FTP와 SFTP 세션을 파일로 개별 관리할 수 있는 기능이 있어 각 세션 파일마다의 설정을 따로 지정해 줄 수 있다. 이외에도 동시 전송 기능, 동기화 기능, Xshell과의 연동 기능 등으로 웬만한 기능은 갖추어져 있으며, 공식 홈페이지에서는 라이센스 구매자의 요구 사항이나 문의 사항이 있을 경우에 대한 기술 지원 서비스도 이루어지고 있다.[13]

터미어스[편집]

터미어스(Termius)는 명령어를 사용해 특정 서버에 접속하는 것을 지원하는 것은 물론 호스트 정보를 라벨과 함께 저장하여 더블 클릭만으로 원하는 서버에 접속할 수 있는 기능도 제공한다. 만약 접속해야 할 서버의 대수가 굉장히 많고 이들을 구분할 필요가 있다면 그룹을 추가하여 호스트 목록을 묶어서 관리할 수도 있다. 포트 포워딩 정책을 쉽게 관리할 수 있는 것도 장점이다. 특정한 호스트를 통해 포트 포워딩을 수행하려고 할 때 해당 호스트와 네트워크 입력을 받을 포트, 해당 네트워크 입력을 보내 줄 호스트의 주소와 포트를 적어 줌으로써 포트 포워딩 설정을 끝낼 수 있다. 물론 터미널 애뮬레이터를 이용해 수행할 수 있는 동작이지만, 이 정책들을 저장해 놓고 간단한 클릭만으로 접근할 수 있다는 것이 터미너스의 매력이다. 터미어스는 맥OS(mac OS)뿐만 아니라 아이오에스(iOS), 안드로이드(Android)용 앱도 제공하는데, 프리미엄 계정을 활성화한다면 맥OS 앱에서 설정한 호스트, 포트 포워딩 등의 여러 정보를 모바일과 공유할 수 있다. 그 외에도 프리미엄 계정을 사용하면 SFTP 기능, 동기화되는 스니펫(snippet) 기능과 모바일에서 사용할 수 있는 여러 기능들이 활성화되게 된다. 다만 프리미엄 계정을 사용하기 위해서는 월 7달러를 지불하거나 연 60달러를 지불해야 한다. 일반 사용자에게는 부담되는 금액일 뿐 아니라, 1회성 구매가 아니라 구독 방식의 요금제이기 때문에 더 부담이 크다. 다만 기본적인 기능들은 프리미엄 계정이 아니라도 사용할 수 있고, 별도의 광고가 붙어서 사용을 귀찮게 한다거나 하는 일도 없기 때문에 모바일 기기와 연동해서 사용할 필요성이 크지 않고, 별도의 SFTP 클라이언트를 사용하고 있다면 무료 버전으로도 충분히 만족할 수 있다.[14]

관련 기술[편집]

FTP[편집]

FTP는 인터넷망으로 연결된 멀리 떨어져 있는 서버로 파일을 올리거나 가져오기 위해 필요한 일종의 프로토콜이다. SFTP와 같이 파일을 송수신하지만 TCP/IP를 사용한다는 점에서 SFTP와 차이가 있다.[15]

FTPS[편집]

FTPS는 HTTPS(HyperText Transfer Protocol Secure)와 같은 개념으로 TLS/SSL을 거쳐서 공개키 암호화 방식을 이용하여 통신 라인을 거쳐 21번, 20번 포트를 안전하게 암호화하는 것이다. 인터넷 프로토콜 초기부터 사용되기 시작했으며, 사용자 인증, 데이터의 전환, 디렉터리 검색 등과 많은 기능 및 선택사항을 제공. 표준 RFC 959에 그 자세한 내용이 기술되어있다.[16]

TFTP[편집]

TFTP는 UDP(User Datagram Protocol) 상에서 이루어지는 간단한 파일전송프로토콜(FTP)이다. 통상 클라이언트나 서버 간에 FTP와 같이 복잡한 상호 동작이 필요하지 않은 응용에 많이 사용된다. 한편, FTP는 TCP/IP 상에서 비교적 복잡하게 동작한다. TFTP는 단순한 파일 전송 기능만 제공한다. 그리고 인증 기능을 미제공하여 사용자 이름 및 비밀번호의 확인 없이 파일을 전송하며, 프로그램이 간결하고 규모가 작다. 에러 제어 및 흐름 제어 방식으로는 스탑 앤드 웨이트(Stop and Wait) 방식을 사용한다.[16]

비교[편집]

FTP와 SFTP 비교[17]
구분 FTP SFTP
기본 호스트 간 파일을 전송하기 위한
보안 채널을 제공하지 않음
호스트 간 파일을 전송하기 위한
보안 채널을 제공
전체 양식 파일 전송 프로토콜 보안 파일 전송 프로토콜
실험 계획안 TCP/IP 프로토콜 SFTP 프로토콜은 SSH 프로토콜의 일부
연결 TCP 포트 21에서 제어 연결 설정 클라이언트와 서버 간 SSH 프로토콜에 의해
설정된 연결로 파일을 전송
암호화 암호 및 데이터가 일반 텍스트 형식으로 전송 전송하기 전에 데이터를 암호화
속도 빠름 느림
보안 약함 강함

응용[편집]

국가 안보와 관련하여 서로 다른 주 군부 내에서 데이터를 공유하고 정부 기관 간에 법률 및 재무 데이터를 공유하는 등 두 호스트 간에 민감한 데이터를 전송하는 데 사용된다. 그리고 조직과 규제 기관 간에 감사 데이터 및 보고서를 실행하고 공유하는 데 사용되기도 한다. SFTP 도구의 가장 매력적인 응용 프로그램 중 하나는 한 곳에서 파일과 디렉터리를 만들고, 삭제하고, 가져오고, 내보낼 수 있다는 것이다. 이는 빅데이터 파일의 저장 기능뿐만 아니라 액세스 자격 증명만 있으면 어디서든 액세스할 수 있는 유연성을 제공한다. 씨버거(Seeburger) 및 사이버덕(Cyberduck)과 같은 응용 프로그램에서도 클라우드 컴퓨팅에 사용된다. 파일질라 및 WinSCP에서 업그레이드된 인증 프로세스를 사용하여 두 호스트 간에 비밀 파일 공유도 가능하다.[4]

각주[편집]

  1. IT's me, 〈ftp, ftps, sftp(ssh) 개념정리〉, 《티스토리》, 2019-08-07
  2. SSH 파일 전송 프로토콜〉, 《위키백과》
  3. by Won_^o^ , 〈ftp, ftps, sftp(ssh) 개념 정리〉, 《티스토리》, 2019-12-27
  4. 4.0 4.1 myservername.com, 〈SFTP(Secure File Transfer Protocol) 및 포트 번호란?〉, 《myservername.com》
  5. 이성덕, 〈FTP(File Transfer Protocol) 및 SFTP(Secure FTP)〉, 《네이버 블로그》, 2019-05-27
  6. 코딩하는소진이, 〈FTP & FTPS & SFTP〉, 《티스토리》, 2020-10-12
  7. NuTTyX, 〈FTPS와 SFTP의 차이점은 무엇입니까?〉 ,《TheFastCode》, 2014-08-18
  8. it-Fix, 〈파일질라(FileZilla)무료FTP 파일전송 프로그램 소개〉, 《티스토리》, 2019-09-05
  9. 코드도사, 〈SSH로 파일 전송을 할 수 있는 WinSCP 소개 및 사용법〉, 《디스커스》, 2020-05-28
  10. WinSCP 공식 홈페이지 - https://winscp.net/eng/docs/lang:ko
  11. 알툴즈 공식 홈페이지 - https://www.altools.co.kr/download/ALDrive.aspx
  12. 어떤오후, 〈'레이드라이브(RaiDrive)'로 잠자고 있는 클라우드를 깨우자〉, 《네이버 포스트》, 2019-01-30
  13. JooTC, 〈Xftp 파일전송 클라이언트로 간편하게 서버에 파일 전송하기〉, 《Jootc》, 2017-05-29
  14. 닥터몰라, 〈(부분무료) 멀티 플랫폼 SSH 클라이언트: Termius〉, 《티스토리》, 2019-04-07
  15. FTP〉, 《나무위키》
  16. 16.0 16.1 차재복, 〈TFTP, tftp Trivial File Transfer Protocol 〉, 《정보통신기술용어》, 2019-04-26
  17. Gadget-info.com, 〈FTP와 SFTP의 차이점〉, 《Gadget-info.com》, 2019

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 SFTP 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.