본문으로 건너뛰기
HexaTransfer
블로그로 돌아가기
파일 전송

Linux 파일 전송 도구: CLI 및 브라우저 기반 옵션

최고의 Linux 파일 전송 도구를 알아보세요. CLI 유틸리티부터 브라우저 서비스까지 파일 전송 솔루션.

Linux에서 최적의 파일 전송 도구는 자신의 기기 간 이동인지(rsync, scp, sftp) 아니면 제어할 수 없는 외부 수신자에게 보내는 것인지에 달려 있습니다. 서버 간 대량 복사에는 rsync -avP --partial이 핵심 도구입니다. 비기술적인 수신자에게 임시로 전달할 때는 브라우저 기반 서비스의 URL이 SSH 클라이언트 설치를 요구하는 것보다 훨씬 낫습니다. GNOME, KDE 같은 Linux 데스크톱 환경도 파일 관리자를 통해 SMB, WebDAV, SFTP 탐색을 기본 지원합니다.

CLI 핵심 도구

scp — SSH를 통한 보안 복사. 간단합니다:

scp bigfile.tar.gz user@server:/home/user/
scp -r folder/ user@server:/path/

실패 시 재개 불가. 안정적인 네트워크에는 괜찮지만 불안정한 연결에서는 불편합니다. OpenSSH 9.0(2022)은 기본 프로토콜을 SCP-over-SSH에서 SFTP로 전환했습니다.

rsync — 재개 가능한 증분 동기화:

rsync -avP --partial source/ user@server:/dest/

플래그: -a 아카이브 모드(권한, 시간, 심링크 보존), -v 자세한 출력, -P 진행 상황 + --partial(실패 시 부분 파일 유지). --bwlimit=50000으로 공유 링크에서 대역폭을 50 MB/s로 제한합니다.

동일한 소스와 대상 루트에서 rsync는 이후 실행 시 변경된 바이트만 전송합니다. 반복 전송에서 엄청난 시간을 절약합니다.

sftp — 대화형 SSH 기반 파일 전송:

sftp user@server
> put bigfile.tar.gz
> get somefile.txt

rclone — 클라우드 제공업체를 위한 rsync. S3, Google Drive, Dropbox, OneDrive, Backblaze B2 등 수십 가지를 지원합니다. 오브젝트 스토리지에 대한 스크립트 업로드에 적합합니다:

rclone copy local/folder remote:bucket/path -P

비기술적 수신자를 위한 브라우저 기반 옵션

모든 수신자가 SSH 키를 갖고 있지는 않습니다. 기자, 클라이언트, 가족에게 보낼 때는 전송 서비스 URL이 최선입니다.

| 서비스 | 무료 최대 | 암호화 | Linux 친화성 | |---|---|---|---| | HexaTransfer | 10 GB | 엔드투엔드 AES-256-GCM | 예(모든 브라우저) | | WeTransfer | 2 GB | TLS | 예 | | SwissTransfer | 50 GB | TLS | 예 | | Proton Drive Share | 1 GB | 엔드투엔드 | 예 | | Tresorit Send | 5 GB | 엔드투엔드 | 예 |

Linux의 Firefox와 Chromium 모두 대용량 업로드를 잘 처리합니다. 업로드 성능은 보통 하드웨어와 업링크에 의해 결정되며, 브라우저에 따른 차이는 없습니다.

데스크톱에서의 같은 네트워크 도구

GNOME Files(Nautilus): 서버 연결 > smb://, sftp://, ftp://, dav://. 원격 저장소가 로컬처럼 마운트됩니다. 가끔 탐색할 때 적합합니다.

KDE Dolphin: 동일한 기능, 약간 다른 UX. 동일한 프로토콜을 지원합니다.

smbclient — 스크립트용 명령줄 SMB:

smbclient //server/share -U user

sshfs — SSH를 통한 원격 파일시스템 마운트:

sshfs user@server:/remote/path ~/mnt/remote

앱이 로컬 경로를 요구할 때 유용합니다.

Linux에서의 전송 속도 조정

Linux의 기본 TCP 창 스케일링은 고대역폭 전송을 잘 처리하지만 일부 배포판은 보수적인 설정을 사용합니다. 장거리 링크(높은 지연, 높은 대역폭)에서:

sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"

손실 많은 링크에서 더 나은 처리량을 위한 BBR 혼잡 제어 활성화:

sysctl -w net.ipv4.tcp_congestion_control=bbr

일반 가정 네트워크에서는 필요 없지만 데이터 센터 간 또는 대륙을 넘는 데이터 전송에서는 기본 CUBIC과 BBR의 차이가 2~3배에 달할 수 있습니다.

tar 아카이브 변형

tar -czf archive.tar.gz folder/          # gzip: 빠름, 중간 압축률
tar -cjf archive.tar.bz2 folder/         # bzip2: 느림, 더 나은 압축률
tar -cJf archive.tar.xz folder/          # xz: 가장 느림, 최고 압축률
tar --use-compress-program=zstd -cf archive.tar.zst folder/   # zstd: 빠르고 압축률도 우수

최신 Linux에서는 zstd가 속도와 압축률 모두에서 gzip을 능가합니다. Linux가 아닌 수신자에게 배포할 때는 .zip을 사용하세요 — zip -r archive.zip folder/.

거대한 아카이브를 분할하려면:

tar -czf - folder/ | split -b 2G - archive.tar.gz.part_

재조립: cat archive.tar.gz.part_* | tar -xzf -.

P2P 도구

Magic Wormhole (wormhole):

wormhole send bigfile.tar.gz
# 7-crossover-clockwork 같은 코드 출력
# 수신자는: wormhole receive 7-crossover-clockwork 실행

엔드투엔드 암호화, NAT를 통해 랑데부 서버로 작동합니다. 일회성 직접 전송에 적합합니다.

croc (schollz 작성): wormhole과 유사, 단일 바이너리, 크로스 플랫폼. 홈랩 커뮤니티에서 인기 있습니다.

이 도구들은 피어 투 피어이지만 NAT 통과를 위해 랑데부 서버를 통해 라우팅됩니다. 암호화는 엔드투엔드이지만 경로는 직접적이지 않습니다.

업로드 전 저장 시 암호화

더욱 철저한 보안 워크플로우를 위해 아카이브를 어느 서비스에 보내기 전에 암호화하세요:

gpg --symmetric --cipher-algo AES256 bigfile.tar.gz

bigfile.tar.gz.gpg가 생성됩니다. 수신자는 gpg --decrypt로 복호화합니다. 비밀번호는 별도 채널로 공유하세요.

또는 현대적인 대안 age를 사용하세요:

age -p -o encrypted.age plaintext.tar.gz

HexaTransfer 같은 엔드투엔드 암호화 전송 서비스와 함께라면 이 이중 래핑은 보통 불필요합니다. 하지만 국가 수준의 위협 모델에서는 이중 보호가 의미 있습니다. GDPR, PIPA 등 규정 요건이 있는 데이터라면 암호화된 전송 서비스를 선택하는 것이 기본입니다.

hexatransfer.com에서 사용해 보세요 — 무료, 계정 불필요, 최대 10GB.

엔드투엔드 암호화로 대용량 파일을 안전하게 전송

엔드투엔드 암호화로 최대 10GB의 파일을 무료로 전송하세요. 계정이 필요하지 않습니다. 업로드 전에 브라우저에서 파일이 암호화되어 다른 사람은 읽을 수 없습니다.

파일 보내기