시큐어 카피
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
시큐어 카피(SCP)는 SSH를 통해 데이터를 암호화하여 안전하게 파일 전송을 수행하는 프로토콜 및 이를 구현하는 소프트웨어 도구이다. SCP는 기본적으로 TCP 포트 22번을 사용하며, 클라이언트-서버 간 파일 전송을 담당한다. SCP 프로그램은 SSH 서버의 일부로 제공되며, OpenSSH의 `scp` 명령이 널리 사용된다. OpenSSH 9.0부터는 SFTP 프로토콜을 기본으로 사용하며, 이전 SCP 전용 서버와 함께 SCP를 사용하기 위한 옵션을 제공한다. SCP는 셸 프로필 설정에 따라 오류가 발생할 수 있으며, GUI 클라이언트는 드물다. 2019년에는 SCP 관련 취약점(CVE-2019-6111)이 보고되었다.
더 읽어볼만한 페이지
- 네트워크 파일 전송 프로토콜 - 백그라운드 인텔리전트 전송 서비스
백그라운드 인텔리전트 전송 서비스(BITS)는 유휴 네트워크 대역폭을 활용하여 파일을 비동기적으로 전송하는 윈도우 서비스로, 네트워크 사용량이 적을 때 백그라운드에서 파일을 전송하며 중단된 부분부터 재개할 수 있고, 소프트웨어 업데이트 및 애플리케이션 배포 등에 활용되며, 작업 큐를 통해 전송을 관리하고, 윈도우 비스타 이후 운영체제에서는 `bitsadmin.exe` 명령 줄 유틸리티를 통해 관리가 가능하다. - 네트워크 파일 전송 프로토콜 - SSH 파일 전송 프로토콜
SSH 파일 전송 프로토콜(SFTP)은 SSH를 통해 안전한 파일 전송 및 관리를 제공하며, SCP보다 플랫폼 독립적이고 정부 및 공공기관에서 사용이 권장되는 네트워크 프로토콜이다. - 암호 프로토콜 - HTTPS
HTTPS는 HTTP에 보안 기능이 더해진 통신 규약으로, 웹 브라우저와 서버 간 통신을 암호화하여 보안을 강화하지만, 인증서 비용, 서버 부하, 혼합 콘텐츠 문제 등의 단점도 존재한다. - 암호 프로토콜 - IPsec
IPsec은 IP 네트워크에서 보안 통신을 제공하기 위한 프로토콜 스위트로서, 전송 모드와 터널 모드를 지원하며, AH, ESP 등의 프로토콜을 사용하여 데이터 무결성, 인증, 기밀성을 제공하고, IKE 프로토콜을 통해 보안 연결을 설정 및 키를 교환하는 개방형 표준이다. - 암호 소프트웨어 - OpenSSL
OpenSSL은 1998년에 설립된 암호화 도구 프로젝트로, 다양한 암호화 알고리즘과 프로토콜을 지원하며, 아파치 라이선스를 채택했고, 보안 문제와 API 호환성 문제 등의 비판을 받았다. - 암호 소프트웨어 - I2P
I2P는 2003년 Freenet에서 분기된 익명 P2P 분산 통신 계층으로, IP 주소 노출을 방지하며 다양한 소프트웨어와 익명성 응용 프로그램을 지원하고, 기부금으로 운영되며 6~8주마다 릴리스를 진행한다.
시큐어 카피 - [IT 관련 정보]에 관한 문서 | |
---|---|
프로토콜 개요 | |
이름 | 보안 복사 프로토콜 |
유형 | 네트워크 프로토콜 |
용도 | 컴퓨터 간 파일 복사 |
기반 프로토콜 | SSH |
포트 번호 | 22 (SSH 기본 포트) |
기술 정보 | |
개발자 | OpenSSH 프로젝트 |
출시일 | 초기 버전은 명시되지 않음 |
최신 버전 | OpenSSH 9.0 (2022년 4월 8일) |
저장소 | OpenSSH GitHub 저장소 |
프로그래밍 언어 | C |
운영 체제 | 크로스 플랫폼 |
장르 | 명령어, 통신 프로토콜 |
라이선스 | 명시되지 않음 |
웹사이트 | OpenSSH 공식 웹사이트 |
상세 설명 | |
설명 | scp (보안 복사)는 컴퓨터 간에 파일을 안전하게 복사하기 위한 네트워크 프로토콜임. SSH 프로토콜을 기반으로 함. |
취약점 | scp 프로토콜 자체의 설계 문제로 인한 보안 취약점 존재 (OpenSSH 8.0에서 수정됨) 명령 삽입 공격에 취약할 수 있음 |
대체 프로토콜 | SFTP (SSH 파일 전송 프로토콜) |
개선 사항 | OpenSSH 8.0 이후 sftp 프로토콜을 사용하도록 개선됨. |
2. SCP 프로토콜
SCP 프로토콜은 BSD RCP 프로토콜 기반의 통신 프로토콜로서[22], 네트워크 상의 호스트 간 파일 전송을 지원한다. SCP는 SSH를 사용하여 데이터를 암호화하여 전송하므로, 제3자가 전송 내용을 가로채더라도 내용을 파악하기 어렵다.[6] SCP는 기본적으로 TCP 포트 22번에서 실행되며, RCP와 마찬가지로 프로토콜의 세부 사항을 정의하는 RFC는 없다.
2. 1. 기능
SCP는 네트워크 프로토콜로, BSD RCP 프로토콜을 기반으로 하며,[5] 네트워크상의 호스트 간의 파일 전송을 지원한다. SCP는 데이터 전송을 위해 SSH를 사용하며, 동일한 인증 메커니즘을 사용하여 전송 중인 진위성과 기밀성을 보장한다. 클라이언트는 서버로 파일을 전송(업로드)할 수 있으며, 선택적으로 기본 속성(권한, 타임스탬프)을 포함할 수 있다. 클라이언트는 서버에서 파일 또는 디렉토리를 요청(다운로드)할 수도 있다. SCP는 기본적으로 TCP 포트 22번에서 실행된다.[6]일반적으로 클라이언트는 원격 호스트에 SSH 연결을 시작하고, 원격 서버에서 SCP 프로세스를 시작하도록 요청한다. 원격 SCP 프로세스는 다음 두 가지 모드 중 하나로 작동할 수 있다.
- 소스 모드: 파일을 읽어(보통 디스크에서) 클라이언트로 다시 전송한다.
- 싱크 모드: 클라이언트가 전송한 파일을 받아 원격 호스트에 기록한다(보통 디스크에).
대부분의 SCP 클라이언트의 경우 소스 모드는 일반적으로 `-f` 플래그(from)로, 싱크 모드는 `-t` (to)로 작동된다.[2]
2. 2. 원격 간 복사 (Remote to remote mode)
과거 원격 간 시큐어 카피(SCP)에서 SCP 클라이언트는 소스 호스트에 SSH 연결을 열고, 소스 호스트가 다시 대상 호스트에 SCP 연결을 열도록 요청했다. (원격 간 모드는 두 개의 SCP 연결을 열어 원본 클라이언트를 중개자로 사용하는 것을 지원하지 않았다). SCP는 비밀번호 또는 키보드 대화형 인증 모드에서 작동할 때 소스에서 대상으로 원격 복사하는 데 사용할 수 없는데, 이는 대상 서버의 인증 자격 증명이 소스에 노출되기 때문이다. 그러나 사용자 입력을 필요로 하지 않는 키 기반 또는 GSSAPI 방법을 사용하면 가능하다.[2]최근 원격 간 모드는 전송을 시작한 클라이언트(전송의 제3자)를 통해 트래픽을 라우팅하는 것을 지원한다. 이런 방식으로 인증 자격 증명은 전송을 시작한 클라이언트(제3자)에만 존재해야 한다.[7]
2. 3. 셸 프로필 관련 문제점
SCP는 SSH 로그인 셸과의 텍스트 통신을 예상하지 않는다. SSH 프로필로 인해 전송된 텍스트(예:.bashrc
파일의 echo "Welcome"
)는 오류 메시지로 해석되며, 널 라인(echo ""
)은 SCP 클라이언트가 오류 메시지 완료를 기다리면서 교착 상태를 발생시킨다.[2]3. SCP 프로그램
SCP 프로그램은 SCP 프로토콜을 구현하여 안전한 파일 복사를 수행하는 소프트웨어 도구이다. SCP 서버 프로그램은 일반적으로 SCP 클라이언트와 동일하다.[23]
`scp` 프로그램의 문법은 cp의 문법과 비슷하다.[23]
3. 1. OpenSSH `scp` 프로그램
가장 널리 사용되는 SCP 프로그램은 대부분의 SSH 구현에서 제공되는 OpenSSH 명령 줄 `scp` 프로그램일 것이다. `scp` 프로그램은 `rcp` 명령의 보안 아날로그이다. `scp`는 SCP 서버 역할도 하므로 SCP 서비스를 제공하려는 모든 SSH 서버의 일부여야 한다.[23][8] OpenSSH 9.0부터 이 프로그램은 더 새롭고 안전한 SFTP 프로토콜을 사용하도록 업데이트되었다. 이전 SCP 전용 서버와 함께 SCP를 사용하기 위한 `-O` 옵션이 추가되었다.[4]3. 2. 사용법 (Syntax)
`scp` 프로그램[23]의 사용법은 cp 명령어와 유사하다.[9]파일을 호스트로 복사하는 경우:
```
scp 원본파일 사용자@호스트주소:디렉터리/대상파일
```
파일을 호스트로부터 복사하는 경우:
```
scp 사용자@호스트주소:디렉터리/원본파일 대상파일
```
폴더를 재귀적으로 복사하는 경우 (`-r` 스위치 사용):
```
scp -r 사용자@호스트주소:디렉터리/원본폴더 대상폴더
```
원격 호스트가 기본 포트 22가 아닌 다른 포트를 사용하는 경우, 다음과 같이 지정할 수 있다. 예를 들어 호스트에서 파일을 복사하는 경우:
```
scp -P 2222 사용자@호스트:디렉터리/원본파일 대상파일
3. 3. 기타 클라이언트
SCP 프로토콜은 파일 전송만 구현하므로, GUI SCP 클라이언트는 드물다. WinSCP와 같은 일부 클라이언트는 기본적으로 SFTP를 사용한다.[10] SCP 모드로 작동하더라도 WinSCP와 같은 클라이언트는 추가 기능을 구현하기 위해 다른 수단(예: ls 명령어)을 사용해야 하므로, 일반적으로 순수한 SCP 클라이언트는 아니다.[11] 이는 다시 플랫폼 종속성 문제를 야기한다.SSH를 통해 파일을 관리하기 위한 더 포괄적인 도구는 SFTP 클라이언트이다.
4. 보안
OpenSSH SCP 도구 및 프로토콜과 관련된 취약점(CVE-2019-6111)[12]이 2019년에 발표되었는데, 이는 사용자가 SCP 클라이언트 대상 디렉터리의 임의의 파일을 덮어쓸 수 있게 해준다.
참조
[1]
웹사이트
Linux and Unix scp command
https://www.computer[...]
2015-08-04
[2]
웹사이트
How the SCP protocol works
Oracle
2015-08-04
[3]
웹사이트
OpenSSH 8.0
https://www.openssh.[...]
2019-04-17
[4]
웹사이트
OpenSSH 9.0
https://www.openssh.[...]
2022-04-08
[5]
웹사이트
scp(1) - OpenBSD manual pages (history section)
https://man.openbsd.[...]
2012-06-25
[6]
웹사이트
SCP - Secure Copy Protocol - What is it & Full Definition & Example Cmds!
https://www.pcwdld.c[...]
2020-05-22
[7]
웹사이트
How to use Secure Copy for file transfer
https://www.techrepu[...]
2017-08-16
[8]
웹사이트
Portable OpenSSH
https://github.com/o[...]
2022-05-13
[9]
문서
scp(1) - OpenBSD manual pages
https://man.openbsd.[...]
[10]
웹사이트
Supported File Transfer Protocols :: WinSCP
https://winscp.net/e[...]
2020-05-22
[11]
웹사이트
The SCP/Shell Page (Advanced Site Settings dialog) :: WinSCP
https://winscp.net/e[...]
2020-05-22
[12]
웹사이트
NVD - Cve-2019-6111
https://nvd.nist.gov[...]
[13]
웹사이트
軽快なscpか高機能なsftp、sshサーバに向いているのは?
https://atmarkit.itm[...]
ITmedia
2015-06-06
[14]
웹사이트
OpenSSH 8.0
https://www.openssh.[...]
2019-06-13
[15]
웹사이트
"「OpenSSH 8.0/8.0p」リリース、scpプロトコルに関連した脆弱性を修正"
https://mag.osdn.jp/[...]
OSDN株式会社
2019-06-13
[16]
웹사이트
"「OpenSSH 8.7」が公開"
https://mag.osdn.jp/[...]
OSDN株式会社
2021-08-28
[17]
웹사이트
OpenSSH 9.0 was released on 2022-04-08.
https://www.openssh.[...]
2024-03-11
[18]
문서
WinSCP公式サイトのプロトコル比較。
[19]
웹사이트
How the SCP protocol works
https://blogs.oracle[...]
Jan Pechanec
2015-06-06
[20]
문서
WinSCP
https://winscp.net/e[...]
[21]
웹인용
Linux and Unix scp command
http://www.computerh[...]
2015-08-04
[22]
웹인용
scp - FreeBSD (history section)
http://nixdoc.net/ma[...]
2012-06-25
[23]
문서
scp(1) - Linux man page
http://linux.die.net[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com