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.