[Linux]Part3) 원격 파일시스템을 마운팅하기(SSHFS)
NFS(Network File System)
, sshfs
그리고 CIFS(Common Internet File System)
는 모두 다른 방식으로 원격 파일 시스템을 마운트하여 로컬 시스템에서 원격 파일에 접근하는 기술입니다. 아래에서 각각의 기술을 비교 설명하겠습니다.
- NFS(Network File System):
- 기술: NFS는 클라이언트와 서버 간의 파일 공유를 위한 프로토콜입니다. 공유 디렉터리를 마운트하여 원격 파일에 접근할 수 있습니다.
- 보안: 기본적으로 암호화되지 않은 통신을 사용하므로, 추가적인 보안 설정이 필요합니다.
- 설정: 서버와 클라이언트 간의 설정 및 마운트 포인트 설정이 필요합니다.
- 운영체제 지원: 다양한 운영체제에서 지원되며 주로 UNIX 및 Linux 시스템에서 사용됩니다.
- SSHFS(SSH File System):
- 기술: SSHFS는 SSH 프로토콜을 기반으로한 파일 시스템 마운트 기술입니다. 로컬 시스템과 원격 호스트 사이의 암호화된 연결을 통해 파일을 전송하고 접근합니다.
- 보안: 데이터 전송이 SSH 암호화를 통해 이루어지므로 보안적으로 안전합니다.
- 설정: SSH 키 기반의 접속을 위해 개인 키와 공개 키가 필요하며, 원격 호스트의 공개 키를 ~/.ssh/known_hosts에 등록해야 합니다.
- 운영체제 지원: 주로 Linux 및 Unix 기반 시스템에서 사용됩니다.
- CIFS(Common Internet File System):
- 기술: CIFS는 Windows 파일 공유 프로토콜로, 로컬 및 원격 파일 시스템 간의 연결을 위해 사용됩니다.
- 보안: Windows 기반의 프로토콜이지만, 암호화 옵션을 통해 데이터 보안을 향상시킬 수 있습니다.
- 설정: 로그인 및 권한 설정 등 Windows 파일 공유에 관련된 설정이 필요합니다.
- 운영체제 지원: Windows 및 다른 운영체제에서도 사용 가능하지만, 주로 Windows에서 사용됩니다.
이러한 원격 파일 시스템 기술들은 각각의 장단점과 용도에 따라 선택되어야 합니다. 보안, 편의성, 운영체제 지원 등을 고려하여 적합한 기술을 선택하실 수 있습니다. 순서대로 설정 방법 및 사용법에 대해 알아보겠습니다.
1. NFS(Network File System): Linux Server – Linux Client
2. NFS(Network File System): NAS Server – Linux Client
3. SSHFS(SSH File System)
4. CIFS(Common Internet File System): Linux Server – Windows Client
5. CIFS(Common Internet File System): Windows Server – Linux Client
3. SSHFS(SSH File System)

출처 : https://www.elmundoenbits.com/2012/04/sshfs-mount-ssh.html
- Client에 sshfs 패키지를 설치합니다.(sshfs 명령어로 마운팅을 할 Linux 서버)
– PowerTools로부터 설치합니다.(default disable in CentOS 8)[root@centos8 ~]# cat /etc/yum.repos.d/CentOS-Stream-PowerTools.repo [powertools] name=CentOS Stream $releasever - PowerTools mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=PowerTools&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$stream/PowerTools/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [root@centos8 ~]# dnf --enablerepo=powertools -y install fuse-sshfs [root@centos8 ~]# rpm -ql fuse-sshfs /usr/bin/sshfs /usr/lib/.build-id /usr/lib/.build-id/e5 /usr/lib/.build-id/e5/2e8bcb0abd4e9093aaa9687f23e398f74ec83f /usr/share/doc/fuse-sshfs /usr/share/doc/fuse-sshfs/AUTHORS /usr/share/licenses/fuse-sshfs /usr/share/licenses/fuse-sshfs/COPYING /usr/share/man/man1/sshfs.1.gz
- 마운팅을 할 디렉토리 생성 및 sshfs 마운팅 실행
– ssh 키 기반 인증을 사용하고 있다면 비밀번호 입력없이 마운팅할 수 있습니다.[root@centos8 ~]# mkdir /mnt/sshfs [root@centos8 ~]# sshfs root@192.168.219.102:/shared /mnt/sshfs [root@centos8 ~]# tail -1 /etc/mtab root@192.168.219.102:/shared /mnt/sshfs fuse.sshfs rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0 [root@centos8 ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs tmpfs 1.8G 12M 1.8G 1% /run tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 26G 5.4G 21G 21% / /dev/sda1 xfs 1014M 271M 744M 27% /boot tmpfs tmpfs 367M 52K 367M 1% /run/user/1000 tmpfs tmpfs 367M 56K 367M 1% /run/user/0 /dev/sr0 iso9660 12G 12G 0 100% /mnt/cdrom root@192.168.219.102:/shared fuse.sshfs 27G 4.5G 23G 17% /mnt/sshfs
- unmounting을 하기 위해서는
fusermount -u 마운팅포인트
명령을 실행합니다.[root@centos8 /]# fusermount -u /mnt/sshfs [root@centos8 /]# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs tmpfs 1.8G 12M 1.8G 1% /run tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 26G 5.4G 21G 21% / /dev/sda1 xfs 1014M 271M 744M 27% /boot tmpfs tmpfs 367M 52K 367M 1% /run/user/1000 tmpfs tmpfs 367M 56K 367M 1% /run/user/0 /dev/sr0 iso9660 12G 12G 0 100% /mnt/cdrom