본문 바로가기
네트워크 및 인터넷

[윈도우10/11] 컴퓨터 간(Windows, Linux, Mac) 파일 전송하기 scp

by First Challenger 2025. 2. 9.
반응형

소개

  이번 포스팅에서는 SCP를 이용하여 컴퓨터 간 파일(폴더)을 전송하는 방법, 주요 옵션과 예제를 정리했습니다. SSH 프로토콜을 이용해 안전하게 파일을 복사(Transfer)할 수 있는 명령어인 SCP(Secure Copy)는 리눅스/유닉스 계열 환경에서 널리 사용되며, 윈도우에서도 OpenSSH 또는 PuTTY 패키지 등을 통해 활용 가능합니다. SCP는 기존 `cp` 명령어와 유사한 형태로, 네트워크 상에서 파일을 안전하게 전송할 수 있도록 SSH 암호화를 사용한다는 점이 특징입니다.

  리눅스 혹은 맥에서 윈도우로 파일을 전달하기 위해서는 윈도우에 OpenSSH 서버를 설치해야 합니다.

  OpenSSH를 설치하는 방법을 참고하시고 진행하시길 바랍니다. 추가로, 윈도우 계정이 마소 계정이라면 비밀번호를 마소 계정 비밀번호로 입력해야 합니다. username은 whoami 명령어로 확인할 수 있습니다. desktop-abc123\james로 출력된다면 뒤의 james가 username입니다.


명령어

각각 리눅스(맥), 윈도우 명령 프롬프트에서 입력하는 명령어입니다. (윈도우 OS에서는 경로를 \로 입력하고, 리눅스와 맥에서는 /로 입력해야 합니다.)

  • 리눅스(맥)
    • username: john
    • IP: 192.168.1.100
  • 윈도우
    • username: james
    • IP: 192.168.1.20

1. Windows → Linux(Mac)

파일의 경우

# 방법1: 윈도우 터미널에서 입력
scp [로컬파일경로] [사용자명]@[IP주소]:[복사할경로]
# 예시
scp C:\Users\james\Documents\folder\text.txt john@192.168.1.100:/home/john/Documents

# 방법2: 리눅스(맥) 터미널에서 입력
scp [사용자명]@[IP주소]:[복사할경로] [로컬파일경로] 
# 예시
scp james@192.168.1.20:C:/Users/james/Documents/folder/text.txt /home/john/Documents

 

폴더의 경우

# 방법1: 윈도우 터미널에서 입력
scp -r [로컬폴더경로] [사용자명]@[IP주소]:[복사할경로]
# 예시
scp -r C:\Users\james\Documents\folder john@192.168.1.100:/home/john/Documents

# 방법2: 리눅스(맥) 터미널에서 입력
scp [사용자명]@[IP주소]:[복사할경로] [로컬파일경로] 
# 예시
scp -r james@192.168.1.20:C:/Users/james/Documents/folder /home/john/Documents

 

2. Linux(Mac)→ Windows

파일의 경우

# 방법1: 리눅스(맥) 터미널에서 입력
scp [로컬파일경로] [사용자명]@[IP주소]:[복사할경로]
# 예시
scp /home/john/Documents/text.txt james@192.168.1.20:C:/Users/james/Documents/folder

# 방법2: 윈도우 터미널에서 입력
scp [사용자명]@[IP주소]:[복사할경로] [로컬파일경로]
# 예시
scp john@192.168.1.100:/home/john/Documents/text.txt C:\Users\james\Documents\folder

 

폴더의 경우

# 방법1: 리눅스(맥) 터미널에서 입력
scp -r [로컬폴더경로] [사용자명]@[IP주소]:[복사할경로]
# 예시
scp -r /Users/john/Documents/folder james@192.168.1.20:C:/Users/james/Documents

# 방법2: 윈도우 터미널에서 입력
scp -r [사용자명]@[IP주소]:[복사할경로] [로컬폴더경로]
# 예시
scp -r john@192.168.1.100:/home/john/Documents/folder C:\Users\james\Documents

 

3. 주요 옵션

  • `-r` (재귀적 복사): 폴더(디렉토리)를 복사할 때 하위 내용을 재귀적으로 처리
scp -r myfolder username@remote_host_IP:/home/user/
  • `-P` (포트 번호 지정): 기본 SSH 포트(22)가 아닌 다른 포트를 사용할 때
scp -P 2222 file.txt username@remote_host_IP:/home/user/
  • `-C` (압축): 전송 시 데이터 압축을 적용해 전송 시간을 단축할 수 있음
scp -C largefile.iso username@remote_host_IP:/home/user/
  • `-i` (개인 키 파일 지정): 비밀번호 대신 SSH 공개키 인증을 사용하는 환경에서 개인 키 경로 지정
scp -i ~/.ssh/id_rsa file.txt username@remote_host_IP:/home/user/
  • `-l` (대역폭 제한): kb/s 단위로 업로드/다운로드 속도를 제한해 사용할 수 있음 (여기서 2000은 약 2Mbit/s 대역폭을 의미)
scp -l 2000 bigfile.zip username@remote_host_IP:/home/user/

 

 

사용자명, 원격지 ID 확인 방법

# Windows, Linux, Mac 공통
whoami

 

Mac에서 포트 열기

시스템 환경설정 → 공유 →  원격로그인(SSH,SCP,SFTP 등)을 활성화합니다.


결론

  SCP는 SSH 기반으로 안전하고 간단하게 파일 전송을 할 수 있는 도구입니다. 리눅스, macOS, 윈도우 모두에서 사용 가능하며, 명령어 구문도 직관적이어서 원격 서버나 PC 간에 안전한 파일 전송을 할 때 효율적입니다. `-r`, `-P`, `-i` 등의 옵션을 적절히 활용하면 디렉토리 일괄 복사, 포트 변경, 키 인증 등 다양한 시나리오에 대응할 수 있습니다.

  이 가이드를 참고하여 여러 OS에서 SCP를 이용해 안전하고 편리하게 파일을 전송해보시길 바랍니다.


문제 해결 팁

  • 연결 거부: 방화벽 설정, 포트(22 혹은 커스텀) 열려있는지 확인
  • 호스트 키 검증 실패: 첫 연결 시 호스트 지문(Host Fingerprint)을 확인
  • 속도 느림: `-C` 압축 옵션 시도, 네트워크 대역폭 확인
  • 권한 문제: 리모트 디렉토리에 쓰기 권한이 있는지 확인(예: `/home/user/`가 해당 계정 권한인지)
반응형