SCP와 SFTP의 차이점은 무엇입니까?


161

일반적 scp으로이 명령을 사용하여 * nixes에서 파일을 전송합니다.

SFTP와 SCP의 차이점은 무엇입니까? 둘 다 SSH에서 작동하지 않습니까?

답변:


98

간단히 말해서 SCP는 파일 전송에만 사용할 수 있으며 비 대화식입니다 (즉, 모든 것이 명령 줄에 지정되어야 함). SFTP는보다 정교하며 대화식 명령으로 디렉토리 작성, 디렉토리 및 파일 삭제 (물론 시스템 권한에 따라 다름) 등과 같은 작업을 수행 할 수 있습니다.


34
상호 작용 성 관련 : OpenSSH에 구현 된 특정 SFTP / SCP 클라이언트에 대해 설명하는 차이점이 있습니다. 프로토콜 자체에 관한 것은 아닙니다. 대화식 SCP 클라이언트 또는 비 대화식 SFTP 클라이언트를 완벽하게 구현할 수 있습니다.
Martin Prikryl

4
한 가지 더 : 서버가 회선을 통한 SFTP 액세스 만 허용하면 scp가 작동하지 않습니다 ForceCommand internal-sftp. 나는 PermitTTY no또한 scp 액세스를 방지하지만 sftp 액세스는 허용하지만, 시도 할 때마다 암호를 잘못 입력 할 수 있다고 생각합니다. 그러나 그 두 가지가 sftp를 막아서는 안됩니다. 출처 : 개인적인 경험.
ecube

SFTP 서버가 SCP 전송을 수용 할 수 있다고 가정 할 수 있습니까?
gus

@gus 아니, ecube의 의견 참조
Pere

104

에서 위키 백과 :

SFTP 프로토콜은 파일 전송 만 허용하는 이전 SCP 프로토콜과 비교하여 원격 파일에 대한 다양한 작업을 허용합니다. 이는 원격 파일 시스템 프로토콜과 비슷합니다. SCP 클라이언트와 비교하여 SFTP 클라이언트의 추가 기능에는 전송 중단, 디렉토리 목록 및 원격 파일 제거 재개가 포함됩니다. [1] 이러한 이유로 GUI SCP 클라이언트에 비해 GUI SFTP 클라이언트를 구현하는 것이 비교적 간단합니다.

SCP와 SFTP가 동일한 일반 수준의 오버 헤드로 파일을 전송하는 동안 동일한 SSH 암호화를 사용하지만 SCP는 일반적으로 파일을 전송할 때 특히 대기 시간이 긴 네트워크에서 SFTP보다 훨씬 빠릅니다. 이는 SCP가 패킷 확인을 기다릴 필요가없는보다 효율적인 전송 알고리즘을 구현하기 때문에 발생합니다. 이로 인해 속도가 빨라지지만 전송을 방해 할 수 없으므로 SFTP와 달리 세션을 종료하지 않고 SCP 전송을 취소 할 수 없습니다.


18
"SCP는 일반적으로 파일 전송시 SFTP보다 훨씬 빠릅니다."
Micah Bolen

3
"그러나 전송을 중단 할 수없는 비용이 발생합니다." 그것은 매우 중요한 절충점입니다.
aaaaaa

aaaaaa, "세션을 종료하지 않고"이것은 모든 세션이 파일을 복사하는 것이라면 큰 문제가되지 않습니다. 많은 파일을 복사하는 경우 클라이언트는 개별 파일 복사가 완료 될 때까지 기다릴 수도 있습니다.
Victor Sergienko

9

순전히 커맨드 라인 관점에서 :

  • scp 에는 대화식 모드가 없으며 명령 스크립트를 읽을 수 없습니다. 즉, 모든 것이 명령 행에 작성되어야합니다.
  • sftp 는 대화식 모드이며 파일에서 명령을 읽을 수 있습니다.

두 명령의 또 다른 중요한 차이점은 sftp 가 단일 명령 줄을 사용하여 로컬 파일을 원격 위치에 넣을 수는 없지만 원격 파일을 가져올 수는 있지만 scp 는 두 가지를 모두 수행 할 수 있다는 것 입니다.

sftp는 원격 파일을 가져옵니다

sftp user@host:/path/to/remote.file [/path/to/local.file]

scp는 원격 파일을 가져옵니다

scp user@host:/path/to/remote.file [/path/to/local.file]

SCP 원격 파일을 넣어

scp /path/to/local.file user@host:[/path/to/remote.file]

2
파일 배치 :sftp {user}@{host}:{remote_dir} <<< $'put {local_file_path}'
gdw2

3

SSH ( S A. 안전한의 SH의 엘)은 원격 로그인 및 다른 네트워크 서비스는 보안되지 않은 네트워크를 통해 안전하게 작동 할 수 있도록 암호화 네트워크 프로토콜이다.

차이점 : SFTP는 대화식 모드 (세션)에서 작동하고 SCP는 비대화 식에서 작동합니다. SFTP를 사용하여 파일 작성, 삭제 및 나열과 같은 원격 파일 시스템에 액세스 할 수 있습니다.

유사점 : 두 SCP ( S의 A. 안전한 데이 C의 opy의 P의 rotocol) 및 SFTP ( S SH F ILE의 T 를 ransfer의 P의 rotocol)는 네트워크에 호스트 사이의 파일 관리를 지원하는 네트워크 프로토콜입니다. 둘 다 SSH를 사용합니다.


2

두 프로토콜의 대부분의 차이점은 다른 답변에서 이미 언급되었으며 https://unix.stackexchange.com/q/8707/19088 에서 더 자세하게 설명되어 있습니다.

curl 문서에 따르면 또 다른 차이점 은 SCP 프로토콜이 이식성이 떨어지고 일반적으로 Unix 시스템에서만 작동한다는 것입니다.

그런데 curl 은 두 프로토콜을 모두 구현하며 기본 OpenSSH SFTP 클라이언트 구현과 달리 SFTP와 SCP 모두에 대해 비 대화식 입니다.

또한 SCP 또는 SFTP없이 SSH를 통해 파일을 전송할 수 있는 FISH 프로토콜 도 있습니다. 내가 아는 한 FISH는 널리 사용되지는 않지만 현재는 몇 가지 파일 관리자 ( 미드 나이트 커맨더 및 KDE 기반의 일부)와 Lftp에서만 구현 됩니다.


2
컬의 문서에 따르면 또 다른 차이점은 SCP 프로토콜이 이식성이 높지 않으며 일반적으로 유닉스 시스템 사이에서만 작동한다는 것입니다.” 대답의이 부분의 아이러니는 가장 인기있는 SCP GUI가 WinSCP라고하며, 추측 한대로 Windows 프로그램이라는 것입니다.
brett

1
@brett 가장 인기있는 클라이언트는 아마도 OpenSSH의 scp 일 것입니다. WinSCP는 SCP / SFTP / etc 클라이언트이지만 요즘은 주로 (S) FTP 클라이언트로 주로 사용됩니다. "2003 년 6 월 버전 3.0이 출시되어 SFTP 프로토콜 인 SCP에 대한 지원이 도입되었습니다. 그럼에도 불구하고 잘 알려진 "WinSCP"라는 이름이 유지되었습니다. " (WinSCP의 역사에서 : winscp.net/eng/docs/project_history)
Pere
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.