| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 리눅스명령어
- 터미널
- 시스템관리
- tcsh
- 자바스크립트
- JavaScript
- UNIX
- 유닉스
- 파일시스템
- terminal
- 정규표현식
- 사용자관리
- php
- sysadmin
- linuxcommand
- shell
- cups
- PackageManagement
- 유닉스명령어
- Unix명령어
- UnixCommand
- 쉘스크립트
- linux
- 리눅스
- bash
- coreutils
- 명령어
- js
- Solaris
- environment
Archives
- Today
- Total
ioerror
scp 사용법 및 옵션 - SSH 프로토콜을 이용한 원격 파일 안전 복사 본문
반응형
scp - Secure Copy Protocol
scp는 SSH(Secure Shell) 프로토콜을 기반으로 네트워크를 통해 서로 다른 호스트 간에 파일이나 디렉터리를 안전하게 전송하는 유닉스/리눅스 명령어이다. 전송되는 모든 데이터와 인증 정보가 암호화되므로 보안성이 높으며, 로컬에서 원격, 원격에서 로컬, 원격에서 또 다른 원격으로의 파일 복사를 지원한다.
1. 명령어 용도
- 사용가능 OS, Shell: All UNIX/Linux
- 개발 환경에서 빌드된 결과물(JAR, ZIP 등)을 원격 배포 서버로 전송할 때 가장 일반적으로 사용된다.
- 원격 서버의 로그 파일이나 백업 데이터를 로컬 분석 환경으로 복사해 올 때 활용된다.
2. 명령어 서식
scp [options] [user@]host1:file1 [user@]host2:file2
3. 명령어 옵션
- 주요 옵션 소개 테이블
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -r | 디렉터리를 재귀적(Recursive)으로 내부 모든 파일 및 하위 디렉터리 포함 복사 | All UNIX/Linux |
| -P port | SSH 기본 포트(22)가 아닌 지정한 원격 포트 번호로 접속 | All UNIX/Linux |
| -i identity_file | SSH 인증에 사용할 비밀키(Private Key) 파일 경로 지정 | All UNIX/Linux |
| -C | 전송 시 데이터 압축(Compression)을 활성화하여 전송 속도 향상 | All UNIX/Linux |
| -p | 원본 파일의 수정 시간, 접근 시간, 권한 모드를 보존하여 전송 | All UNIX/Linux |
| -v | 디버그 메시지를 상세히 출력하여 접속 오류 분석 시 활용 | All UNIX/Linux |
| -q | 진행 상황 표시줄이나 경고 메시지를 출력하지 않는 정숙 모드(Quiet) | All UNIX/Linux |
| -3 | 두 원격 호스트 간 복사 시 로컬을 거쳐 전송 (원격 간 직접 접속 불가 시 사용) | OpenSSH |
- 명령어 옵션 사용시 결과 예시
# 로컬 파일을 원격 서버로 전송 (기존 포트 대신 2222 포트 사용 및 압축 적용)
$ scp -P 2222 -C app.tar.gz user@192.168.1.100:/var/www/
# app.tar.gz 100% 15MB 5.2MB/s 00:03
# 원격 서버의 디렉터리를 로컬로 재귀 복사 (비밀키 인증 지정)
$ scp -r -i ~/.ssh/id_rsa user@192.168.1.100:/var/log/nginx ./server_logs/
# access.log 100% 2048KB 2.0MB/s 00:01
# error.log 100% 512KB 1.2MB/s 00:00
- app.tar.gz / access.log: 전송 중인 파일 이름이다.
- 100%: 파일 전송 완료율을 의미한다.
- 15MB / 2048KB: 전송된 파일의 총 용량이다.
- 5.2MB/s / 2.0MB/s: 실시간 데이터 전송 속도이다.
- 00:03 / 00:01: 전송에 소요된 남은 시간/총 시간이다.
4. 명령어 특이사항(유의사항)
- 대문자 -P 옵션 유의: SSH 명령어에서는 소문자 -p가 포트 지정 옵션이지만, scp에서는 대문자 -P가 포트 지정이며 소문자 -p는 파일 권한/시간 보존 옵션이므로 주의해야 한다.
- 이어받기 미지원: 전송 중 네트워크가 끊어질 경우 처음부터 다시 전송해야 한다. 대용량 파일 전송이나 이어받기가 필요한 경우에는 rsync 명령어를 사용하는 것이 권장된다.
- SFTP로의 전환 추세: 최신 OpenSSH 버전에서는 scp 프로토콜의 보안 위험성 및 유지보수 문제로 인해 내부적으로 SFTP 프로토콜을 사용하도록 기본 동작 방식이 전환되고 있다.
관련 명령어들
- ssh: 원격 호스트에 암호화된 셸 세션으로 안전하게 접속한다.
- rsync: 파일 및 디렉터리를 효율적으로 동기화하며 이어받기를 지원한다.
- sftp: SSH 기반의 대화형 파일 전송 프로그램이다.
- cp: 로컬 파일 시스템 내에서 파일 및 디렉터리를 복사한다.
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| sed 사용법 및 옵션 - 비대화형 스트림 에디터를 활용한 텍스트 변환 및 편집 (0) | 2026.07.29 |
|---|---|
| screen 사용법 및 옵션 - 다중 터미널 세션 관리 및 백그라운드 작업 유지 (0) | 2026.07.29 |
| rwho 사용법 및 옵션 - 네트워크 내 원격 호스트에 로그인한 사용자 목록 조회 (0) | 2026.07.29 |
| rwall 사용법 및 옵션 - 네트워크 내 특정 호스트의 모든 로그인 사용자에게 메시지 전송 (0) | 2026.07.29 |
| ruptime 사용법 및 옵션 - 네트워크 내 호스트들의 가동 시간 및 상태 조회 (0) | 2026.07.29 |
Comments