질문이 있습니다. 내 서버에 SSH 서버를 추가했습니다. /etc/fstab.conf에 다음 줄을 추가했습니다.
sshfs#[email protected]:/home/hd03_00_backup_server/ /mnt/server_backup fuse.sshfs IdentityFile=/root/.ssh/id_rsa_backup_server_home,port=23,rw 0 0
하지만 주문은
mount -a
아직도 비밀번호를 묻고 있어요. 주문하다:
sudo sshfs -p 23 [email protected]:/home/ /mnt/server_backup -o IdentityFile=/root/.ssh/id_rsa_backup_server_home
연결하고 설치하는 데 비밀번호가 필요하지 않습니다.
답변1
이것은 직접적인 대답은 아니지만 systemd 설치 장치를 사용하여 동일한 결과를 얻은 방법은 다음과 같습니다.
$ cat ~/.config/systemd/user/home-stew-shared.mount
[Mount]
What=%[email protected]:
Where=%h/shared
Type=fuse.sshfs
systemd --user
소유한 사용자가 로그인할 때만 설치되고 해당 사용자가 로그아웃할 때 제거되도록 버스에 배치했습니다 . 나는 각 사용자에게 이 중 하나를 제공하여 로그인한 사람은 누구나 자신의 홈 디렉토리에 개인 마운트를 얻을 수 있도록 했습니다. , UID
는 모두 암시적이 GID
지만 IdentityFile
선택적으로 다음 줄을 추가할 수 있습니다.
Options=umask=0022,uid=%U,gid=%G,IdentityFile=%h/.ssh/id_rsa_backup_server_home
--system
모든 것을 갖고 싶어하지 않는다면 root
버스에서 이 프로그램을 실행하도록 선택할 수도 있습니다.
내 대답은 위에 있습니다. 다음은 귀하의 질문에 직접 답변하려는 시도입니다. 확실하게 말할 수는 없지만 위의 시스템 솔루션이 마음에 들지 않는다면 적어도 문제 해결 시 다른 방향으로 생각하는 데 도움이 되기를 바랍니다.
도우미 mount
로 활용될 수 있을 것 같아요 .mount.fuse.sshfs
$ dpkg -S /usr/sbin/mount.fuse.sshfs
sshfs: /usr/sbin/mount.fuse.sshfs
$ ls -l $_
lrwxrwxrwx 1 root root 12 Jul 7 2021 /usr/sbin/mount.fuse.sshfs -> ../bin/sshfs
이는 sshfs
데비안 패키지에서 제공됩니다. 이 도우미가 없으면 도우미를 만들어 에 연결할 수 있습니다 /usr/bin/sshfs
.
ln -s /usr/bin/sshfs /usr/local/sbin/mount.fuse.sshfs
나는 이것에 대한 전문가는 아니지만 /etc/fstab
읽으면서 man mount
다음을 발견했습니다.
mount 및 umount(8) 프로시저는 파일 시스템 하위 유형을 지원합니다. 하위 유형은 ".subtype" 접미사로 정의됩니다. 예를 들어 "fuse.sshfs"입니다. 마운트 소스에 접두사를 추가하는 대신 하위 유형 표기법을 사용하는 것이 좋습니다(예:"sshfs#example.com"은 더 이상 사용되지 않습니다.).
지원 중단은 줄 시작 부분에 문제가 있음을 나타낼 수 있습니다 fstab
. 지원되지 않는 표준 조합을 사용하고 있을 수 있습니다.
sshfs#[email protected]:/remote /local fuse ... <-- Deprecated syntax
[email protected]:/remote /local fuse.sshfs ... <-- New syntax
sshfs#[email protected]:/remote /local fuse.sshfs ... <-- Your syntax
마지막 생각은 sshfs
항구입니다. 당신은 옵션 중 하나로 /etc/fstab
정의합니다 . port=23
에서는 sshfs
을 사용합니다 -p 23
. 당신이라면 어떻게 될까요 -o IdentityFile=...,port=23
?