내 Mavericks Mac의 원격 Ubuntu 시스템에서 디렉토리를 자동 마운트하려고 합니다. SSHFS는 수동으로 마운트할 때 다양한 방식으로 완벽하게 작동합니다. 표준 sshfs 마운트는 훌륭하게 작동합니다.
sshfs user@desk:/home/user desk
그리고 나는 심지어 다음을 사용할 수도 있습니다 mount
:
sudo mount -t sshfs -o allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa [email protected]:/home/user desk
(나는 따라갔다.OSXFuse 자동 마운트 지침설정하기 mount_sshfs
)
이것을 자동 마운트로 바꾸고 싶습니다. OSXFuse 방식에서 권장하는 가장 쉬운 방법은 위 mount
명령을 항목으로 바꾸는 것입니다 /etc/fstab
.
[email protected]:/home/user /Network/desk sshfs allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa 0 0
하지만 그건 작동하지 않습니다 :
Network $ sudo mount desk
mount: desk: unknown special file or file system.
마찬가지로, 그렇게 하면 sudo automount -vc
fstab 옵션 형식을 어떻게 사용하느냐에 따라 마운트 지점에 들어가려고 할 때 시간 초과가 길어지거나 도움이 되지 않는 "작업이 허용되지 않음" 오류가 발생합니다. 설명된 대로 자동 마운트 맵을 설정하려고 하면 동일한 오류가 발생합니다.여기.
내 fstab 항목에 어떤 문제가 있나요? 아니면 OSX에서 sshfs를 자동 마운트할 수 있는 다른 방법은 무엇입니까?
(저는 homebrew의 sshfs 2.5.0을 사용하여 10.9.5를 사용하고 있습니다)
답변1
OSXFuse의 버그로 인해 허용_기타 플래그가 작동하려면 다음이 필요합니다.
sudo sysctl -w osxfuse.tunables.allow_other=1
이는 fstab 문제를 해결할 수도 있고 해결하지 못할 수도 있지만 직접 맵에서는 작동합니다. 제가 설정한 방법은 다음과 같습니다.
/etc/auto_master에 다음 줄을 추가합니다:
/- auto_ssh -nobrowse,nosuid
/etc/auto_ssh를 생성합니다:
/Users/USER/MOUNT_POINT -fstype=sshfs,allow_other,idmap=user,cache=no USER@LINUXMACHINE:/home/USER
(비밀번호 없는 키가 설정되어 있다고 가정합니다.)
변경 사항을 autofs에 알립니다.
sudo automount -vc
osxfuse.tunables.allow_other 변경 사항이 재부팅 후에도 유지되도록 하려면 다음을 수행하십시오.
다음을 입력하세요 /Library/LaunchDaemons/sysctl.plist
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>sysctl</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>/Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs; /usr/sbin/sysctl -w osxfuse.tunables.allow_other=1</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
다음을 사용하여 plist를 로드합니다.
launchctl load /Library/LaunchDaemons/sysctl.plist
답변2
fstab에 아래 형식을 추가해 보세요.
USERNAME@HOSTNAME_OR_IP:/REMOTE/DIRECTORY /LOCAL/MOUNTPOINT 퓨즈.sshfs x-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USERNAME/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N ,gid=USER_GID_N 0 0
위의 내용이 작동하지 않으면 해당 콘텐츠에 Delay_connect를 추가하고 확인하세요.
또한
맥퓨전 참조. Macfusion을 SSHFS 사용자 공간 파일 시스템의 요구 사항으로 만드는 정당성에 대한 OSXFUSE의 FAQ를 읽는 것도 유익합니다.