Ubuntu 20.04에 SSHFS 자동 마운트

Ubuntu 20.04에 SSHFS 자동 마운트

모든 "automount SSHFS"는 구식이며 오늘날의 데스크탑에서는 더 이상 작동하지 않는 것 같습니다.

RPI를 통해 SFTP를 통해 공유된 microSD 카드가 있는 경우 이를 Ubuntu 20.04 데스크탑에 자동으로 마운트하려면 어떻게 해야 합니까?

이전에 시도해 보세요:

sshfs#[email protected]:/stuff/ /media/user/stuff/  fuse.sshfs noauto,x-systemd.automount,users,idmap=user,IdentityFile=/home/user/.ssh/id_rsa,allow_other,reconnect,port=22 0 0

하지만 작동하지 않습니다. 지금까지 작동하는 유일한 방법은 다음과 같습니다.

sshfs#[email protected]:/stuff/ /media/user/stuff/ fuse defaults,auto,allow_other,noatime,port=22,IdentityFile=/home/user/.ssh/id_rsa,user 0 0

하지만 이를 위해서는 "mount -a"를 수행해야 합니다. 이는 매우 자동적이지는 않습니다. :)

질문: 일반 사용자로서 필요에 따라 SSHFS 공유를 마운트하는 방법은 무엇입니까? 따라서 해당 디렉토리에 있으면(예: 터미널의 GNOME os, ls 또는 cd 또는 "cp from tothatshare") 비밀번호 없이 SSH 키를 사용하여 로그인할 수 있습니다.

매우 감사합니다.

답변1

요청 시에만 SSHFS 공유를 마운트하는 방법은 무엇입니까?

일반적으로 이를 수행하려면 systemd(자동)마운트를 사용합니다.

다음을 포함하는 /etc/systemd/system에 파일을 추가하기만 하면 됩니다.

[Unit]
Description=SSHFS mount
Requires=network-online.target

[Mount]
What=sshfs#[email protected]:/stuff/
Where=/media/user/stuff/
Type=sshfs
Options=allow_other,noatime,port=22,IdentityFile=/home/user/.ssh/id_rsa

문서~ 해야 하다이름이 지정됩니다 media-user-stuff.mount(예: 의 내용을 가져와 Where=루트 /를 삭제한 다음 모든 /를 -로 바꾸고 .mount로 끝남).

이것은 시스템 마운트 파일입니다. 너할 수 있는이제 systemd를 사용하여 디렉터리를 마운트합니다(그러나 이 작업을 원하지 않으므로 수행하지 맙시다).

대신에 systemd.automount 파일도 작성합니다. 그러면 systemd Where=가 에 처음 액세스하려고 할 때 실제 마운트가 발생합니다.

그래서, /etc/systemd/system/media-user-stuff.automount:

[Unit]
Description=user media automount

[Automount]
Where=/media/user/stuff

[Install]
WantedBy=multi-user.target

마침내 를 사용하여 활성화했습니다 systemctl enable --now media-user-stuff.automount. 따라서 시스템이 시작될 때마다 "사전 설치"됩니다.

일반 사용자로서, 내가 어떻게 할 수있는...

전혀 그렇지 않습니다. 자동 마운트 논리는 디렉터리에 대한 액세스를 모니터링할 수 있어야 하며 루트 권한이 필요합니다. 내가 아는 한, 현재 이러한 필요성을 제거하는 내장 래퍼는 없습니다.


SSHFS에 대한 한마디: 솔직히 더 나은 네트워크 파일 시스템이 있을 수 있습니다. SSHfs는 연결이 끊어졌을 때 정지하고 복구하지 않는 것을 좋아하며 데이터 손실 시 눈치채지 못할 만큼 "깨끗하지" 않습니다. (나에게 발생했던 일!)실제로는 매우 느림.

다른 네트워크 파일 시스템을 사용할 수도 있습니다. 이제 Samba를 설정하는 것은 어렵지 않습니다.

관련 정보