linux - sshfs
Settupg Up SSHFS on CentOS is fairly easy to do and it enables you to mount partitions using accounts that already on the system.
It’s recommended to use ssh keys when mounting partitions with sshfs, if you have not already done so, follow this tutorial on setting up ssh keys.
Installing SSHFS on CentOS
First you have to have the EPEL repo installed, if you already have it installed, skip this command.
Now we can install sshfs with the following:
yum -y install sshfs |
You will see sshfs and the fuse kernel module and libraries downloaded and installed.
Load the fuse kernel module used by sshfs
modprobe fuse |
Verify fuse module loaded properly
lsmod | grep fuse |
You should see something like
fuse 56800 0 |
Make a mount point directory where we’ll access the remote filesystem.
mkdir /sshfsmount |
Mount the remote partition (on host puppet.example.motorrobot.net in this example).
This will mount root’s home directory on puppet.example.motorrobot.net on the /sshfsmount folder we created before
sshfs root@puppet.example.motorrobot.net: /sshfsmount |
Use the mounted partition like any other mount on your system
ls -aul /sshfsmount |
Unmount an SSHFS partition
umount /sshfsmount |
Keep a volume mounted with autossh
sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=60,ServerAliveCountMax=2,ssh_command=’autossh -M 0′ username@server:/ /sshfsmount”
source - http://centoshowtos.org/storage/sshfs/
제 목 : sshfs로 원격 파일시스템을 마운트해서 사용하기
그리고, /etc/ld.so.conf 에 /usr/local/lib 를 넣고 ldconfig 명령을 내려준다. sshfs를 설치해보자. sshfs 홈( http://fuse.sourceforge.net/sshfs.html )에서 소스를 받는다.
3. sshfs로 마운트하기 sshfs 명령 사용은 간단하다. ssh와 scp 명령과 비슷하다. 다음 명령을 보면 접속할 서버명과 마운트할 포인트만 지정해주면 끝난다.
df명령과 mount 명령으로 확인해보자. 마운트가 정상적으로 됐음을 확인할 수 있으나 용량 표시는 정상적으로 표시되지 않았다.
sshfs를 할 때 원격지 ssh서버의 UID와 GID가 로컬 사용자가 다를 경우 액세스가 안되는 경우도 있는데, 이 때는 -o allow_other (NFS에서 /etc/exports파일의 all_squash 옵션으로 보면 됨)이나 -o uid=UID, -o gid=GID 옵션으로 해결 할 수 있다. sshfs 명령 실행중에 발생할 수 있는 2가지 에러에 대해 살펴보자. 1) sshfs: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory libfuse.so.2 공유 라이브러리를 찾지 못해서 발생한 것이다. '2. FUSE와 sshfs 설치'중에 /etc/ld.so.conf 설정과 ldconfig 명령으로 해결할 수 있다. 2) fusermount: fuse device not found, try 'modprobe fuse' first fuse 커널 모듈이 로딩되지 않았다. modprobe fuse 명령을 실행한다. 이제 사용 완료했으면 unmount를 해보자. unmount는 fusermount 명령 또는 umount 명령으로 할 수 있다.
4. 참고 자료 * Redhat Enterprise Linux securely mount remote Linux / UNIX directory or file system using SSHFS http://www.cyberciti.biz/tips/rhel-centos-mounting-remote-filesystem-using-sshfs.html * How to mount a remote ssh filesystem using sshfs http://ubuntu.wordpress.com/2005/10/28/how-to-mount-a-remote-ssh-filesystem-using-sshfs/ * Filesystem in Userspace http://fuse.sourceforge.net/ * PYRASIS가 보는 Winter of Code 2006 http://www.pyrasis.com/main/Blog/CodeAndSoftware/2006-12 출처 - http://coffeenix.net/board_view.php?bd_code=1491 |