我正在使用以下命令将 ssh ubuntu 目录挂载到我的 ubuntu pc。
sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以在我的桌面上为此创建一个脚本,当我需要安装驱动器时,我可以双击并运行此脚本,而无需始终手动输入命令。
con*_*use 16
您可以创建一个启动器并将其添加到启动器栏中,方法是将.desktop-file拖放到那里:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=nautilus
Name[en_US]=Connect to xy
Exec=shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
#OR: to mount and than open in nautilus (note the '/dir' where ':dir' used to be)
#Exec=nautilus sftp://user@192.xx.xx.xx.xx/dir/dir
Comment[en_US]=Connect to xy via ssh
Name=Connect to xy
Comment=Connect to xy via ssh
Icon=nautilus
Run Code Online (Sandbox Code Playgroud)
如果您想要更少的工作(=自动连接)和图形用户界面,您可能需要查看Gigolo . 只要存在书签文件系统,它就有自动挂载书签的能力。你可能想检查一下。
sudo apt-get install gigolo # or use the install link above
Run Code Online (Sandbox Code Playgroud)
运行gigolo。首选项中有一个选项可以将其置于自动启动状态,另一个选项可以激活托盘图标。检查两者。然后添加您的书签。
这是一个屏幕截图:

另一种解决方案是将以下行放在您的 crontab 中(/etc/crontab使用 sudo 权限进行编辑):
@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
Run Code Online (Sandbox Code Playgroud)
但是由于运行命令时 Ubuntu 的密码管理器不存在,因此您需要使用无密码的私钥/公钥对来对相关 ssh 服务器进行身份验证(或类似的身份验证方法)。这将在每次重新启动时安装它。
另一种解决方案是编辑您的/etc/fstab(如果您的 Ubuntu 版本提供该选项)。
我正在添加一种fstab方法,因为在此页面中没有人谈论它。如果您不想被黑客攻击并使用内置的高级安装功能,则需要使用/etc/fstab并且永不回头。
user@host:/remote/folder /mount/point fuse.sshfs noauto,x-systemd.automount,_netdev,IdentityFile=/home/name/.ssh/id_rsa, allow_other,reconnect 0 0
Run Code Online (Sandbox Code Playgroud)
noauto 无论网络是否启动,都将停止诸如在启动时强行安装任何内容之类的简单操作。x-systemd.automount 是知道何时挂载的智能守护进程。_netdev标签还将识别它使用的是网络设备,因此它会一直等到网络启动。