부팅시 원격 리눅스 서버에 있는 디렉토리를 로컬 파일시스템에 자동으로 마운트하는 방법에 관한 기술입니다.
사전 준비 사항
원격 호스트에 SSH Key 등록
Password입력 절차 없이 원격 호스트에 접속할 수 있도록 원격 호스트에 로컬 호스트의 SSH Key가 미리 등록되어 있어야 합니다. 아직 등록하지 않은 경우 다음 글을 참고해서 SSH Key를 등록해 주세요.
[Windows 및 Linux 클라이언트에서 SSH 자동 로그인 설정하기] http://tuwlab.com/computer/10463
sshfs 설치
시스템에 sshfs가 설치되어 있어야 합니다. 설치되어 있지 않은 경우 다음 명령으로 설치하도록 합니다.
sudo apt-get install sshfs
fstab에 마운트 레코드 등록하기
/etc/fstab에 다음과 같이 마운트 레코드를 등록합니다. 이 때, user, host, uid값, gid값 및 경로정보는 적절히 수정해 주도록 합니다.
user@host:/remote/path /local/path fuse.sshfs IdentityFile=/home/user/.ssh/id_rsa,uid=1000,gid=1000,_netdev,reconnect,delay_connect,allow_other,defaults 0 0
세 번째 필드인 Options에 기재된 항목들을 살펴보면 다음과 같습니다.
defaults
설정되지 않은 값에 대해서는 기본 설정을 따릅니다.
_netdev
네트워크 드라이브임을 의미하며, 마운트 시도 전 네트워크가 올바르게 설정되어 있는지 검사합니다.
delay_connect
Mount Point 디렉토리에 접근이 가능해진 이후에 원격 디렉토리에 연결합니다.
allow_other
마운트된 디렉토리에 일반 유저의 접근을 허용합니다.
uid, gid
마운트된 디렉토리의 소유(Ownership)을 지정합니다. 특정 유저의 uid및 gid는 'id {username}'명령으로 확인할 수 있습니다.
IdentifyFile
인증에 사용할 Key를 지정합니다. 마운트는 root권한으로 실행되므로 Key가 root의 홈디렉토리에 존재하지 않는 경우 이렇게 수동으로 지정해 줘야 합니다.