SW/리눅스

Linux : SSH : 원격 디렉토리 마운트 : SSHFS 사용 방법, 예제, 명령어

얇은생각 2021. 8. 31. 07:30
반응형

SSH 파일 시스템(SSH Filesystem)은 SSH 연결을 통해 원격 디렉터리를 마운트하기 위한 FUSE 기반 파일 시스템 클라이언트입니다. SSHFS는 SSH의 하위 시스템인 SFTP 프로토콜을 사용하고 있으며 대부분의 SSH 서버에서 기본적으로 사용하도록 설정되어 있습니다.

NFS 및 Samba와 같은 다른 네트워크 파일 시스템 프로토콜과 비교할 때 SSHFS의 장점은 서버 측에서 추가 구성이 필요하지 않다는 것입니다. SSHFS를 사용하려면 원격 서버에 대한 SSH 액세스만 필요합니다.

SSHFS는 SFTP를 사용하기 때문에 서버와 클라이언트 간에 전송된 모든 데이터를 암호화하고 암호를 해독해야 합니다. 이로 인해 NFS에 비해 성능이 약간 저하되고 클라이언트 및 서버의 CPU 사용량이 증가합니다.

Linux, macOS 및 윈도우즈에 SSHFS 클라이언트를 설치하는 방법과 원격 디렉터리를 마운트하는 방법을 보여 줍니다.

 

 

Linux : SSH : 원격 디렉토리 마운트하기 위한 SSHFS 사용 방법, 예제, 명령어

 

 

SSHFS를 설치

SSHFS 패키지는 모든 주요 운영 체제에서 사용할 수 있으며 설치가 매우 간단합니다.

 

 

 

Ubuntu 및 Debian에 SSHFS를 설치

SSHFS는 기본 Ubuntu 및 Debian 저장소에서 사용할 수 있습니다. 다음을 입력하여 패키지 인덱스를 업데이트하고 sshfs 클라이언트를 설치합니다.

sudo apt update
sudo apt install sshfs

 

 

 

CentOS에 SSHFS를 설치

CentOS 및 기타 Red Hat 파생 모델에서는 다음 명령을 실행하여 sshfs를 설치합니다.

sudo yum install sshfs

 

 

 

MacOS에 SSHFS를 설치

macOS 사용자는 osxfuse 사이트에서 또는 Homebrew를 통해 FUSE 및 SSHFS 패키지를 다운로드하여 SSHFS 클라이언트를 설치할 수 있습니다.

brew cask install osxfuse
brew install sshfs

 

 

 

윈도우즈에 SSHFS를 설치

윈도우즈 사용자는 WinFsp 및 SSHFS-Win 두 개의 패키지를 설치해야 합니다.

 - WinFsp

- SSHFS-Win

 

 

 

원격 파일 시스템을 마운트

다음 지침은 모든 Linux 배포 및 MacOS에 적용됩니다.

원격 디렉터리를 마운트하려면 SSH 사용자가 해당 디렉터리에 액세스할 수 있습니다야 합니다. SSHFS 마운트 명령은 다음 형식을 사용합니다.

sshfs [user@]host:[remote_directory] mountpoint [options]

 

 

sshfs 명령은 SSH 구성 파일을 읽고 호스트 설정별로 사용합니다. 원격 디렉터리를 지정하지 않으면 기본적으로 원격 사용자 홈 디렉터리로 설정됩니다.

예를 들어 IP 주소가 "192.168.121"인 원격 호스트에 "linuxize"라는 사용자의 홈 디렉토리를 마운트하려면 먼저 마운트 지점 역할을 할 디렉토리를 생성합니다. 원하는 위치가 될 수 있습니다.

mkdir ~/linuxizeremote

 

 

그런 다음 sshfs 명령을 사용하여 원격 디렉토리를 마운트합니다.

sshfs linuxize@192.168.121.121:/home/linuxize /home/linuxize/linuxizeremote

 

 

사용자 암호를 입력하라는 메시지가 표시됩니다. 원격 디렉터리를 마운트할 때마다 암호를 입력하지 않도록 하려면 SSH 키를 생성하고 암호 없는 SSH 로그인을 설정하십시오.

이제 로컬 파일과 같은 방식으로 원격 서버에 있는 디렉터리 및 파일과 상호 작용할 수 있습니다. 예를 들어 새 파일 및 디렉터리를 편집, 삭제, 이름 변경 또는 생성할 수 있습니다.

원격 디렉토리를 영구적으로 마운트하려면 로컬 시스템의 /etc/fstab 파일을 편집하고 새 마운트 항목을 추가해야 합니다. 이렇게 하면 시스템이 부팅될 때 원격 디렉터리가 자동으로 마운트됩니다.

/etc/fstab에서 SSHFS 위에 원격 디렉토리를 마운트하려면 fuse.ssshfs를 파일 시스템 유형으로 사용합니다.

# /etc/fstab

user@host:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

 

 

영구 마운트를 생성할 때는 SSH 키 기반 인증을 사용하여 원격 호스트를 연결할 수 있습니다.

 

 

 

Windows에 원격 파일 시스템을 마운트

윈도우즈 사용자는 윈도우즈 탐색기를 사용하여 네트워크 드라이브를 SSH 서버의 원격 디렉토리에 매핑할 수 있습니다.

Windows 탐색기를 열고 "이 PC"를 마우스 오른쪽 단추로 클릭한 다음 "네트워크 드라이브 매핑"을 선택합니다. 탑재할 드라이브를 선택하고 "폴더" 필드에 다음 형식으로 원격 사용자, 서버 및 경로를 입력합니다.

\\sshfs\user@host[\PATH]

 

 

이 문서를 작성할 때 SSHFS-Win은 키 기반 인증을 지원하지 않으므로 암호 기반 인증을 허용하도록 원격 SSH 서버를 구성해야 합니다.

자세한 내용은 SSHFS-Win 설명서를 참조하십시오.

 

 

 

원격 파일 시스템을 마운트 해제

마운트된 파일 시스템을 분리하려면 umount 또는 fusermount 명령 뒤에 마운트된 디렉터리(mount point)를 사용합니다.

fusermount -u /local/mountpoint
umount /local/mountpoint

 

 

이 가이드에서는 SSHFS를 사용하여 SSH를 통해 원격 디렉터리를 마운트하는 방법을 배웠습니다. 이 기능은 로컬 컴퓨터 응용 프로그램을 사용하여 원격 파일과 상호 작용하려는 경우에 유용합니다.

sshfs 옵션의 전체 목록을 보려면 터미널에 manshfs를 입력합니다.

SFTP Chroot Guil 환경을 설정하여 홈 디렉토리에 대한 사용자 액세스를 제한하고 기본 SSH 포트를 변경하여 서버에 추가 보안 계층을 추가할 수도 있습니다.

반응형