实例化适当的 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
这是一个很好的如何