sshfs를 자동 마운트 할 수 있습니까?


10

적절한 VPN 연결을 인스턴스화 할 때 sshfs를 사용하여 원격 FS를 자동 마운트 할 수 있습니까?

원격으로 작업하는 시나리오를 사무실의 서버에서 홈 디렉토리를 마운트 할 수 있다면 도움이되도록 설명 할 수 있습니다. 그렇게하려면 VPN을 연결해야합니다. 따라서 네트워크 관리자 내에서 관련 VPN을 선택하고 연결합니다. 연결되었지만 이제 명령 줄로 가져 와서 여러 컴퓨터에 내 홈 디렉토리를 마운트해야합니다.

하나의 시스템을 잊어 버린 경우 로컬 개발 환경이 효율적이지 않습니다. 이 작업을 수행하기 위해 빠른 bash 스크립트를 작성할 수 있지만 연결하면 자동으로 실행되도록하고 싶습니다.



@Seth 그 질문은 이것의 복제입니다;)
Radu Rădeanu

@ RaduRădeanu이 질문은 더 일반적이기 때문에 앞으로 사람들에게 더 도움이 될 것입니다.
세스

사실, 나는 마음을 바꿨습니다. 그들은 완전히 다른 질문입니다.
세스

답변:


12

다음을 사용하여 연결의 UUID를 찾으십시오.

$ nmcli con

여기에는 물리적 연결뿐만 아니라 SSID (무선 연결 정의)도 나열되어 있습니다.

/etc/NetworkManager/dispatcher.d/디렉토리에 다음 과 같은 간단한 스크립트를 넣으십시오 .

#!/bin/bash

# Specify your connection UUID you like to trigger on below.
MYCON_UUID=397bdb70-2a89-415e-b3e9-09ca0b704fc1

if [ "$CONNECTION_UUID" == "$MYCON_UUID" ]
then
    # do your scripting you need to do here:
    mount -t sshfs ...
fi

실행 권한을 부여 할 수있는 올바른 권한을 설정하는 것을 잊지 마십시오 (예 :) chmod +x trigger-sshfs-on-vpn.sh. 스크립트의 모든 유형이 될 수 있습니다. Bash 스크립트는 아마도 귀하의 목적에 충분할 것입니다.

NetworkManager는이 디렉토리의 모든 스크립트를 실행하여 스크립팅에 사용할 수있는 일부 환경 변수를 제공합니다. 이 경우 아마도 필요합니다 CONNECTION_UUID.


이 작업을 수행하는 가장 좋은 방법 인 것 같습니다. 그러나 나는 일을 할 수 없으므로 mount -t sshfs user@host:/dir /home/myuser/dir시도 sshfs hostname:?directory /home/myuser/dir했지만 작동하지 않는 것 같습니다. 어떤 아이디어?
Mark D

@MarkD 문제가 NetworkManager 디스패처 스크립트에서만 발생합니까? 그렇지 않은 경우 다른 질문을 할 수 있습니다. "작동하지 않습니다"에 대해 더 구체적으로 설명하십시오.
gertvdijk

@gertvdijk 무엇 연결에 ssh prv 키를 사용하고 sshfs를 실행하는 사용자와 동일한 권한을 원한다면? 의미, 권한도 작동합니까?
confiq

1
@confiq 아니요, NetworkManager는이 스크립트를 루트로 실행합니다. root로서의 다른 사용자 호출과 마찬가지로를 사용하십시오 su. 예 : su -l username -c 'mycommand'
gertvdijk

1

autofs를 사용하십시오.

Autofs는 누군가 또는 누군가가 시스템에서 액세스 할 때 마운트 지점으로 구성된 폴더를 자동으로 마운트합니다.

마운트 지점은 sshfs 및 다음과 같은 임의의 다른 마운트 지점을 통해 원격 호스트가 될 수 있습니다.

  • 삼바
  • nfs
  • NTFS

여기 좋은 하우투가 있습니다


네트워크에 어느 정도 도달 할 수 있으면 autofs가 작동합니다. VPN에 연결되어있을 때만 연결할 수 있습니다.
Mark D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.