Rclone은 클라우드 파일 관리를 위한 훌륭한 도구입니다. 여러 클라우드 스토리지 서비스를 하나의 명령줄 인터페이스에서 매끄럽게 관리할 수 있게 해주는 간단한 스크립트로, 직관적인 CLI와 강력한 기능들을 갖추고 있습니다. 한 클라우드 원격 저장소에서 다른 곳으로 데이터를 옮기거나, 여러 원격 저장소를 하나로 묶거나, 데이터를 투명하게 암호화·복호화하는 작업까지 모두 가능합니다. 이 글에서는 그중 암호화 기능에 초점을 맞춥니다.
Crypt는 Rclone의 기능 중 하나로, 파일을 업로드하는 동안 자동으로 암호화하고 다운로드할 때 복호화해 줍니다. 즉, 클라우드에 실제로 저장되는 파일은 모두 암호화되어 뒤섞인 형태입니다. 덕분에 클라우드 제공업체가 내가 올리는 내용을 훔쳐보지 않을 것이라 믿지 않고도, 그들의 스토리지를 안전하게 활용할 수 있습니다.
게다가 Crypt는 설정이 간단하고 직관적이라, 암호학에 대한 전문 지식이 전혀 없는 사람도 쉽게 자신만의 암호화된 원격 저장소를 만들 수 있습니다.
Crypt는 어떻게 작동하나요?
Crypt 원격 저장소는 다른 원격 저장소를 감싸는(wrap) 방식으로 작동합니다. 따라서 Crypt는 통과하는 데이터를 걸러내고 변형하는 일종의 레이어처럼 동작합니다. 어떤 데이터든 클라우드 원격 저장소에 닿기 전에 이미 Crypt 기능에 의해 필터링되고 암호화된 상태가 됩니다.
이러한 레이어 구조는 여러 원격 저장소를 다룰 때 최고 수준의 유연성을 제공합니다.
예를 들어 Rclone의 union 기능으로 여러 원격 저장소를 하나로 합친 뒤, 이를 Crypt 원격으로 감쌀 수 있습니다. 그러면 해당 원격을 통해 업로드되는 모든 데이터는 암호화된 후 보유한 여러 클라우드 저장소에 분산 저장됩니다.
Rclone Crypt 설정하기
이런 기능이 마음에 드신다면, Crypt 원격 저장소 설정은 비교적 간단합니다. 다만 이 가이드는 이미 암호화되지 않은 Rclone 원격 저장소를 만들어 두었다고 가정합니다. 아직 없다면 먼저 Rclone 기본 설정 가이드를 참고해 주세요.
Rclone 원격 저장소가 준비되었다면, 다음 명령어를 입력합니다:
rclone config
그러면 Rclone 설정 메뉴가 열립니다. N 키를 눌러 새 원격 저장소를 생성합니다.
Rclone이 원격 저장소 이름을 물으면 입력합니다. 여기서는 "crypt"라는 이름을 사용하겠습니다.
다음으로 원격 저장소 유형을 선택합니다. "crypt"를 입력해 Crypt 유형으로 생성합니다.
이후에는 Crypt가 감쌀 대상 원격 저장소의 위치를 지정합니다. 이때 반드시 원격 저장소의 특정 디렉터리를 가리켜야 하며, 원격 저장소 전체를 가리키면 안 됩니다.
예를 들어 저는 gdrive 원격 저장소에 "maketecheasier"라는 폴더를 미리 만들어 두었고, 설정 시 gdrive:/maketecheasier라고 입력했습니다.
원격 저장소 전체를 Crypt로 감싸는 것도 가능하지만, 이 경우 암호화·복호화 과정에서 문제가 생길 수 있습니다. 클라우드 제공업체가 암호화된 루트 폴더를 제대로 처리하지 못할 수 있고, Rclone Crypt 외부에서 업로드된 파일은 암호화되지 않은 채 남아 Crypt 기능의 파일 처리에 문제를 일으킬 수 있습니다.
암호화 설정
다음 단계에서는 원격 저장소에 적용할 파일명 암호화 방식을 선택합니다.
- Standard(표준): 파일명 전체를 암호화하여 업로드한 파일의 확장자까지 숨깁니다.
- Obfuscate(난독화): 파일명을 단순히 "회전"시킵니다. 간단하지만 약한 수준의 암호화입니다.
- Off(끄기): 파일명을 난독화하지 않습니다.
이어서 디렉터리 이름도 암호화할지 묻습니다. 1을 선택하면 원격 저장소의 모든 폴더 이름이 암호화되고, 2를 선택하면 암호화되지 않습니다.
그다음에는 비밀번호를 직접 만들지, 아니면 Rclone이 자동으로 생성하게 할지 선택합니다.
여기서는 직접 비밀번호를 입력했습니다.
이후 Rclone은 암호화 키를 더욱 무작위화하기 위해 두 번째 비밀번호를 추가할지 묻습니다.
저는 두 번째 비밀번호도 추가했습니다.
주의할 점은, 이 두 비밀번호가 바로 내 데이터의 열쇠라는 사실입니다. 반드시 안전한 곳에 사본을 보관하세요. 이 두 비밀번호를 알고 있는 사람이라면 누구나 Rclone 설정을 재현해 Crypt 원격 저장소의 데이터를 복호화할 수 있습니다.
추가 설정
다음 단계에서 고급 설정 메뉴에 들어갈지 묻는데, 대부분의 경우 기본값을 그대로 두어도 괜찮습니다.
다만 여러 Crypt 원격 저장소를 서로 연동하거나, 특별한 이유로 데이터 자체는 암호화하지 않으려는 경우에만 이 설정을 변경하면 됩니다.
마지막으로 Crypt 원격 저장소 설정을 확인합니다. 현재 설정에 만족한다면 Y를 누른 후 Enter 키를 누릅니다.
설정이 완료되면 Rclone에 새로 만든 Crypt 원격 저장소가 표시됩니다. 예시에서는 유형이 Crypt인 "crypt"라는 이름으로 나타납니다.
새 Crypt 원격 저장소 테스트하기
설정이 끝나면 새 Crypt 원격 저장소로 파일을 전송해 볼 수 있습니다. 다음 명령어를 사용합니다:
rclone -v copy /your/local/file/here/ remotename:/the/remote/location/
예시에서는 로컬의 작은 파일 하나를 Crypt 원격 저장소로 복사한 후, 원격 저장소 내용을 목록으로 확인해 제대로 복사되었는지 살펴보았습니다:
rclone lsf remotename:/
Rclone 외부에서 원격 저장소를 열어보면 파일이 알아볼 수 없는 이름으로 표시됩니다. 실제로 Google Drive 웹사이트에서 방금 복사한 파일을 확인했을 때, 파일명이 "nf1kktmpf95lg527ddci7s3m90"으로 표시되었습니다.
축하합니다! 이제 나만의 암호화된 클라우드 백업이 완성되었습니다. 이 원격 저장소를 단독으로 사용해도 되고, 레이어 구조에서 영감을 얻어 더 창의적인 스토리지 구성을 고민 중이라면 Rclone과 함께 사용할 수 있는 저렴한 클라우드 스토리지 서비스에 대한 글도 참고해 보세요.
자주 묻는 질문
1. Rclone Crypt는 안전하게 암호화되나요?
네. Rclone은 XSalsa20 암호로 파일 내용과 파일명을 암호화합니다. 시스템 자원을 적게 사용하면서도 상당히 강력한 암호 방식입니다. 또한 암호화된 파일의 무결성은 Poly1305를 통해 상시 검증되며, 이 역시 매우 강력한 인증 알고리즘입니다.
2. 컴퓨터를 잃어버리면 파일에 어떻게 접근하나요?
이 방식의 장점은 두 개의 비밀번호만 잘 기록해 두었다면 어디서든 언제든 데이터에 접근할 수 있다는 점입니다. 인터넷에 연결할 수 있는 컴퓨터와 Rclone만 있으면 충분합니다.
3. 비밀번호 설정 후 변경이 가능한가요?
아니요. 암호화는 설정한 비밀번호에 크게 의존합니다. 비밀번호를 바꾸면 Crypt의 암호화 키 자체가 달라지므로, 이전에 암호화된 파일에는 더 이상 접근할 수 없습니다.
새 비밀번호를 사용하려면 새 비밀번호로 새 Crypt 원격 저장소를 만들고, 기존 Crypt에서 파일을 복호화해 새 저장소로 옮긴 뒤, 마지막으로 기존 Crypt를 삭제하면 됩니다.