是否可以自动挂载 sshfs

是否可以自动挂载 sshfs

实例化适当的 VPN 连接后,是否可以使用 sshfs 自动挂载远程 FS?

请允许我解释一下这个场景,我正在远程工作,如果我可以从办公室的服务器挂载我的主目录,这将有所帮助。为此,我需要使用 VPN。因此,在网络管理器中,我选择相关的 VPN 并连接。它连接了,但现在我必须转到命令行并在几台机器上挂载我的主目录。

如果我忘记操作一台机器,我的本地开发环境就不那么高效了。我想我可以编写一个快速的 bash 脚本来执行此操作,但我更希望它在连接时自动运行。

答案1

使用以下方法查找连接的 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

答案2

使用 autofs。

当某人或某物在您的系统上访问该文件夹时,Autofs 将自动挂载配置为挂载点的文件夹。

挂载点可以是通过 sshfs 的远程主机,也可以是任意其他挂载点,例如:

  • 桑巴
  • 网络文件系统
  • NTFS

这是一个很好的如何

相关内容