Computer >> 컴퓨터 >  >> 시스템 >> Linux

SSHFS로 리눅스에서 원격 디렉터리 마운트하기: 설치부터 설정까지 완벽 가이드

SSHFS로 리눅스에서 원격 디렉터리 마운트하기: 설치부터 설정까지 완벽 가이드

두 대의 기기 간에 파일을 동기화할 수 있는 솔루션은 이미 넘쳐날 정도로 많습니다. Google Drive나 Microsoft OneDrive는 공식 리눅스 클라이언트를 제공하지 않지만, NextCloud 등은 그렇지 않습니다. 하지만 대형 기업이 내 파일을 보관하는 것을 신뢰하지 못할 수도 있고, NextCloud가 제공하는 수준보다 더 강력한 보안을 원할 수도 있습니다. NextCloud처럼 구성 요소가 복잡한 시스템일수록 단순한 솔루션보다 아직 발견되지 않은 보안 취약점이 숨어 있을 가능성이 큽니다.

왜 SSHFS를 사용해야 할까?

사용자 입장에서 SSHFS는 매우 사용하기 쉽고 깔끔하며 단순합니다. 또한 오랜 기간 실전에서 검증된 OpenSSH 서버를 기반으로 동작하기 때문에 보안성도 탁월합니다. 암호화 수준 역시 최상급이라 파일이 전송되는 도중에 누군가 가로챌 걱정을 할 필요가 없습니다. SSH 연결만 허용하도록 올바르게 설정하고 항상 최신 상태로 유지되는 서버는 극소수의 고수준 공격자(국가 정보기관, 전문 보안 연구자 등)가 아니면 침입하기 사실상 불가능합니다. 그리고 그런 공격자들은 여러분의 파일에 관심이 없을 가능성이 높습니다.

SSHFS를 피해야 하는 경우

최대한 빠른 전송 속도가 필요하다면 NFS 같은 다른 솔루션을 고려하는 것이 좋습니다. 인터넷 연결 상태가 좋다면 SSHFS가 느린 편은 아니지만, 가장 빠른 선택도 아닙니다. 특히 작은 파일이 수백 개 들어 있는 디렉터리를 전송할 때는 성능이 크게 떨어집니다. 또한 개별 사용자별로 세밀하게 파일 공유 권한을 조정하고 싶다면 다른 소프트웨어가 더 적합할 수 있습니다.

정리하면, 단순히 원격 디렉터리와 로컬 디렉터리를 쉽고 안전하게 동기화하는 방법만 필요하고 시간적 여유가 있다면 SSHFS는 충분히 만족스러운 선택입니다.

SSHFS 설치

Arch Linux 계열 배포판에서는 다음 명령어를 사용합니다:

sudo pacman -S sshfs

Fedora 계열 배포판에서는 다음과 같습니다:

sudo dnf install sshfs

Debian, Ubuntu 및 그 파생 배포판에서는:

sudo apt install sshfs

OpenSUSE 사용자라면 다음 명령어를 입력하세요:

sudo zypper install sshfs

서버 설정

서버나 VPS를 임대했다면 OpenSSH 서버 데몬은 이미 설정되어 있을 것입니다. 클라우드 서비스 업체가 권장하는 절차에 따라 일반 사용자(루트가 아닌) 계정을 구성하세요. 일부 업체는 웹 관리 패널에서 바로 이 작업을 처리할 수 있게 해주며, SSH 접속용 공개 키 가져오기 기능까지 제공합니다. 이 경우 ssh-keygen 명령으로 로컬에서 키 쌍을 생성한 뒤, "/home/your_username/.ssh/id_rsa.pub" 파일의 공개 키를 등록하면 됩니다.

클라우드 업체가 SSH 공개 키를 손쉽게 등록하는 도구를 제공하지 않는다면 직접 설정해야 합니다. 최소한 루트 로그인을 차단하고 비밀번호 로그인을 비활성화하세요. SSH 키만 사용하는 것이 좋습니다. 비밀번호와 달리 SSH 키는 무차별 대입(brute-force) 공격으로 뚫는 것이 불가능합니다.

집안의 두 컴퓨터 간에 파일을 동기화하고 싶다면 한 대를 서버로(openssh-server 패키지를 설치하고 설정), 다른 한 대를 클라이언트로 취급하면 됩니다. 절차는 동일하게 적용됩니다.

SSHFS로 원격 디렉터리를 로컬에 마운트하기

먼저 원격 쪽과 동기화될 로컬 디렉터리를 생성합니다.

mkdir $HOME/sshfs

다음으로 SSHFS를 통해 원격 디렉터리를 로컬에 마운트합니다. "user"는 서버에서 생성한 실제 사용자 이름으로, "203.0.113.1"은 원격 인스턴스의 실제 IP 주소로 바꿔 입력하세요.

sshfs user@203.0.113.1:/home/user $HOME/sshfs

물론 서버 쪽 사용자의 홈 디렉터리 전체가 아니라 특정 디렉터리만 동기화하고 싶다면, 서버에 해당 디렉터리를 만든 후 "/home/user" 부분을 "/home/user/some_other_directory"로 바꾸면 됩니다.

마운트를 해제할 때는 다음 명령어를 사용합니다:

cd && fusermount -u $HOME/sshfs

마무리

디렉터리를 영구적으로 원격과 동기화하고 싶다면 sshfs user@203.0.113.1:/home/user $HOME/sshfs 같은 명령을 자동 시작 관리자에 추가하세요. 그래픽 환경마다 자동 시작 설정 도구가 다르므로 사용 중인 데스크톱 환경의 도움말 문서를 참고하는 것이 좋습니다. 일부 자료에서는 "/etc/fstab"에 항목을 추가하라고 안내하지만, 이는 피하는 편이 좋습니다. 마운트에 실패하면 시스템이 아예 부팅되지 않는 심각한 문제가 발생할 수 있습니다.

이 글이 여러분의 필요를 모두 충족시켰기를 바랍니다. 만약 부족한 부분이 있다면 온라인 SSHFS 매뉴얼에서 더 많은 명령줄 옵션을 확인할 수 있습니다.