2021. 9. 11. 16:16
728x90
remote 서버와 파일 시스템을 공유하고 싶을 때, 달리 말하면 remote 컴퓨터의 파일을 로컬에 있는 것처럼 읽고 쓰고 싶을 때
일반적으로 NFS (Network File System)를 사용합니다.
근데 NFS가 익숙치 않은 사람들에게는 설치 및 설정하는데 귀찮은 면이 많이 있습니다.
sshfs : SSH 프로토콜을 이용한 파일시스템 공유
원격 서버에 접속할 때 우리는 ssh를 이용합니다. 바로 이 프로토콜을 그대로 활용한 network filesystem이 sshfs입니다.
ssh로 접근이 가능한 서버라면 별도의 설정없이 사용이 가능합니다.
sshfs 설치
$ sudo apt-get install sshfs
sshfs로 원격 파일 시스템 마운트하기
$ sudo sshfs -o allow_other user@xxx.xxx.xxx.xxx:/remote_server/directory /local/directory
위 명령어에서 사용자, 원격지 디렉토리, 로컬 디렉토리 정보를 알맞게 수정하면 됩니다.
마운트 확인
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 32930708 0 32930708 0% /dev
tmpfs 6597560 2220 6595340 1% /run
...
tmpfs 6597556 16 6597540 1% /run/user/121
tmpfs 6597556 72 6597484 1% /run/user/1000
brown@xxx.xxx.xxx.xxx:/home/brown 2012861412 1637770708 272836624 86% /home/brown/remotespace
마운트 해제
$ sudo umount /local/directory
디버깅
Connection reset by peer
같은 오류가 발생하면 아래와 같이 옵션을 추가하여 원인을 찾는데 도움을 얻을 수 있습니다.
sudo sshfs -o debug,sshfs_debug,loglevel=debug,allow_other user@xxx.xxx.xxx.xxx:/remote_server/directory /local/directory
주의 사항
zsh를 쓰는 경우 원격 파일시스템 내에 git을 쓰는 디렉토리가 있다면 매우 느려지므로 bash로 shell을 변경해야 합니다.
728x90