RSA 키를 사용하여 필요에 따라 SSH 파일 시스템을 자동으로 마운트하는 방법

RSA 키를 사용하여 필요에 따라 SSH 파일 시스템을 자동으로 마운트하는 방법

/home/pi/server_folderRaspberry Pi( )의 폴더를 로컬 폴더( /home/my_name/raspberrypi) 에 자동으로 마운트 하려고 합니다 . 빈 rsa 키를 설정하면 sshfs(fstab의 자동 마운트)를 사용하여 이 작업을 수행할 수 있지만 실제 키(예: 123)를 사용하려고 하면 라즈베리 파이 파일 시스템이 마운트되지 않습니다. 비밀번호를 제공해야 하기 때문에 이것은 매우 분명합니다. 하지만 처음 액세스하려고 할 때 비밀번호를 묻도록 하는 방법이 있습니까 /home/my_name/raspberrypi, 아니면 비슷한 작업을 수행할 수 있습니까? 누군가가 내 노트북에 손을 댔을 때 rsa 키를 비워두면 내 라즈베리 파이에 액세스하기 위해 비밀번호나 다른 어떤 것도 입력할 필요가 없기 때문입니다. autofs, 및 을 살펴봤지만 autosshfsautosshfs가 다운로드되지 않으며 autofs는 실제 rsa 키를 사용하여 설치하는 방법을 설명하지 않습니다(글쎄, 아직 이를 수행하는 방법에 대한 가이드를 찾지 못했습니다). 저는 최신 버전의 아치 리눅스를 사용하고 있습니다. fstab 항목은 다음과 같습니다.

[email protected]:/home/pi/server_folder/ /home/my_name/raspberrypi  fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/my_name/.ssh/id_rsa,allow_other,reconnect 0 0

이것은 아치 위키에서 말하는 내용입니다(그러나 잘 설명하지는 않습니다).

답변1

SSHFS는 FUSE를 기반으로 하기 때문에 루트가 아닌 자동 마운트를 사용하는 것이 더 쉽습니다. 사용퓨즈, 이는 거의 수행하도록 설계된 것입니다. 일회성 설정:

mkdir ~/.afuse
ln -s .afuse/raspberrypi/server_folder ~/raspberrypi

자동 설치 프로그램을 시작하려면:

afuse -o mount_template="sshfs %r:/ %m" -o unmount_template="fusermount -u -z %m" ~/.afuse

SSH_AUTH_SOCK시작 시 이 변수를 설정해야 합니다 afuse. 즉, 나중에 시작해야 합니다 ssh-agent. 실행은 ssh-addSSH 에이전트에 키를 로드한 다음 SSHFS 디렉터리에 액세스할 수 있습니다.

답변2

Gilles의 정답을 확장하고 "통합"에 대한 그의 답변에 대한 의견에서 제기된 몇 가지 추가 아이디어를 다룹니다.Enter(프로필)시작(스크립트)':

요청 시 활성화할 수 있습니다.설치방법예를 들어 스크립트 호출을 추가하십시오.~/.profile또는사용자 수준의 시스템 서비스 단위 생성.

나는 동의한다 답변:~/.config/systemd/user/afuse.service

[Unit]
Description="SSHFS via Afuse automounter"
AssertPathExists=%h/scp/
AssertFileIsExecutable=/usr/bin/afuse
AssertFileIsExecutable=/usr/bin/sshfs

[Service]
Type=forking
WorkingDirectory=%h/scp
ExecStart=/usr/bin/afuse \
    -o mount_template="sshfs -o ServerAliveInterval=10 -o reconnect %%r:/ %%m" \
    -o unmount_template="fusermount -u -z %%m" .
Restart=always
PrivateTmp=true
#NoNewPrivileges=true
#Environment=

[Install]
WantedBy=default.target

관련 정보