안전한 복사 프로토콜
Secure copy protocol개발자 | 오픈SSH 프로젝트 |
---|---|
저장소 | github |
기입처 | C |
운영 체제 | 크로스 플랫폼 |
유형 | 명령, 통신 프로토콜 |
웹 사이트 | www |
SCP(Secure Copy Protocol)는 로컬 호스트와 원격 호스트 간 또는 두 원격 호스트 간에 컴퓨터 파일을 안전하게 전송하는 방법입니다.이것은 Secure Shell([1]SSH) 프로토콜을 기반으로 합니다."SCP"는 일반적으로 Secure Copy Protocol과 프로그램 [2]자체를 모두 의미합니다.
2019년 4월 OpenSSH 개발자들에 따르면 SCP는 구식이고 유연성이 없으며 쉽게 수정되지 않는다. [3]그들은 파일 전송을 위해 SFTP 및 rsync와 같은 보다 현대적인 프로토콜을 사용할 것을 권장한다.따라서 OpenSSH 버전 9.0에서는 클라이언트는 기존 SCP/[4]RCP 프로토콜 대신 SFTP를 기본적으로 파일 전송에 사용합니다.
Secure Copy Protocol(시큐어 복사 프로토콜)
SCP는 BSD RCP [5]프로토콜을 기반으로 하는 네트워크 프로토콜로, 네트워크상의 호스트 간에 파일 전송을 지원합니다.SCP는 데이터 전송에 Secure Shell(SSH;시큐어 셸)을 사용하고 인증에 동일한 메커니즘을 사용합니다.그 결과, 전송중의 데이터의 신뢰성과 기밀성이 보증됩니다.클라이언트는 옵션으로 기본 속성(권한, 타임스탬프)을 포함하여 파일을 서버에 송신(업로드)할 수 있습니다.클라이언트는, 서버로부터 파일 또는 디렉토리를 요구할 수도 있습니다(다운로드).SCP는 [6]기본적으로 TCP 포트 22를 통해 실행됩니다.RCP와 마찬가지로 프로토콜의 세부사항을 정의하는 RFC는 없습니다.
기능.
일반적으로 클라이언트는 리모트호스트에 대한 SSH 접속을 개시하고 리모트서버에서 SCP 프로세스를 개시하도록 요구합니다.리모트 SCP 프로세스는 다음 두 가지 모드 중 하나로 동작할 수 있습니다.
- (통상 디스크에서) 파일을 읽어 클라이언트로 되돌리는 소스 모드 또는
- sink 모드: 클라이언트가 보낸 파일을 받아들여 리모트호스트에 써넣습니다.
대부분의 SCP 클라이언트의 경우 일반적으로 소스 모드는 플래그(from)에 의해 트리거되며 싱크 모드는 (to)[2]에 의해 트리거됩니다.이러한 플래그는 내부에서 사용되며 SCP 소스 코드 이외에서는 문서화되어 있지 않습니다.
리모트 모드에서 리모트 모드로
이전에는 리모트 투 리모트시큐어 카피에서는, SCP 클라이언트는 송신원호스트에의 SSH 접속을 오픈해, 행선지에의 SCP 접속을 오픈하도록 요구했습니다(리모트 투 리모트모드에서는, 2개의 SCP 접속을 오픈해, 송신원클라이언트를 중개로서 사용할 수 없었습니다).패스워드 또는 키보드인터랙티브 인증 모드로 동작하고 있는 경우는, SCP 를 사용해 송신원으로부터 송신지에 리모트로 카피할 수 없는 것에 주의해 주세요.이것은, 송신원서버의 인증 credential이 소스에 공개되기 때문입니다.단, 사용자 [2]입력을 필요로 하지 않는 키 기반 방식 또는 GSSAPI 방식에서는 가능합니다.
최근에는 리모트 투 리모트모드에서는, 전송을 개시한 클라이언트를 경유하는 트래픽의 라우팅이 서드 파티가 되어도 서포트되고 있습니다.이렇게 하면 인증 자격 증명이 원본 클라이언트인 서드 [7]파티에만 있어야 합니다.
통화 가능한 셸 프로파일 사용 문제
SCP에서는 SSH 로그인 셸과 통신하는 텍스트는 상정되지 않습니다.SSH 프로파일(파일 내 등)에 의해 송신된 텍스트는 에러 메시지로 해석되어 늘라인()echo ""을 사용하면 SCP 클라이언트가 에러 메시지의 [2]완료를 기다리는 동안 교착 상태가 됩니다.
시큐어 카피(리모트 파일 카피 프로그램)
SCP 프로그램은[8] SCP 프로토콜을 서비스 데몬 또는 클라이언트로 구현하는 소프트웨어 도구입니다.안전한 복사를 수행하기 위한 프로그램입니다.
아마도 가장 널리 사용되는 SCP 프로그램은 Open입니다.SSH 명령줄 프로그램은 대부분의 SSH 구현에서 제공됩니다.이 프로그램은 명령어의 보안 아날로그입니다.이 프로그램은 SCP 서버로서도 기능하며 SCP 서비스를 제공하는 모든 SSH 서버의 일부여야 합니다.
일부 SSH 실장에서는 SCP 대신 SFTP 프로토콜을 사용하는 프로그램이 제공되지만 와 동일한 명령줄 인터페이스를 제공합니다.이 경우 보통 에 대한 심볼릭링크입니다.
구문
일반적으로 프로그램의[9] 구문은 (복사)의 구문과 같습니다.
원격 호스트에 로컬 파일 복사:
scp LocalSourceFile user@remotehost:directory/TargetFile
원격 호스트에서 파일 복사 및 원격 호스트에서 폴더 복사(스위치 사용):
scp user@remotehost:directory/SourceFile LocalTargetFile scp -r user@host:directory/SourceFolder LocalTargetFolder
리모트 호스트가 디폴트 22 이외의 포토를 사용하고 있는 경우는, 커맨드로 지정할 수 있습니다.예를 들어 호스트에서 파일을 복사하는 경우:
scp -P 2222 user@host:directory/SourceFile TargetFile
기타 클라이언트
이로 인해 플랫폼 의존성 문제가 발생합니다.
SSH를 통해 파일을 관리하기 위한 보다 포괄적인 도구는 SFTP 클라이언트입니다.
보안.
2019년 취약성 CVE-2019-6111은[12] SCP 클라이언트 대상 디렉토리의 임의의 파일을 덮어쓸 수 있는 openssh SCP 툴 및 프로토콜과 관련하여 발표되었습니다.
「 」를 참조해 주세요.
![]() | Wikibooks는 다음 토픽에 관한 책을 가지고 있습니다.Windows 명령어 가이드 |
- SSH 파일 전송 프로토콜(SFTP)
- 리모트 복사(rcp)
- 파일 전송 프로토콜 비교
- 셸 프로토콜(FISH)을 통해 전송되는 파일
- SSH를 통한 FTP
- FTPS
- 동기
- 시큐어 셸
- WinSCP
레퍼런스
- ^ "Linux and Unix scp command". Computer Hope. Retrieved 4 August 2015.
- ^ a b c d Pechanec, Jan. "How the SCP protocol works". Jan Pechanec's weblog. Oracle. Archived from the original on 2017-02-15. Retrieved 4 August 2015.
- ^ "OpenSSH 8.0". OpenSSH Release Notes. 17 April 2019.
- ^ "OpenSSH 9.0". OpenSSH Release Notes. 8 April 2022.
- ^ "scp(1) - OpenBSD manual pages (history section)". Retrieved 25 June 2012.
- ^ "SCP - Secure Copy Protocol - What is it & Full Definition & Example Cmds!". PC & Network Downloads - PCWDLD.com. 2019-06-29. Retrieved 2020-05-22.
- ^ Br; August 16, on Carroll in Networking on; 2017; Pst, 9:34 Am (16 August 2017). "How to use Secure Copy for file transfer". TechRepublic. Retrieved 2020-05-22.
{{cite web}}
: CS1 maint: 숫자 이름: 작성자 목록(링크) - ^ "Portable OpenSSH". GitHub. 13 May 2022.
- ^ "scp (1) - OpenBSD 매뉴얼 페이지" https://man.openbsd.org/scp
- ^ "Supported File Transfer Protocols :: WinSCP". winscp.net. Retrieved 2020-05-22.
- ^ "The SCP/Shell Page (Advanced Site Settings dialog) :: WinSCP". winscp.net. Retrieved 2020-05-22.
- ^ "NVD - Cve-2019-6111".