我正在使用以下命令将 ssh ubuntu 目录挂载到我的 ubuntu 电脑。
sshfs [email protected]:/dir/dir /home/username/mount/xxx
我的问题是,我是否可以在我的桌面上为此创建一个脚本,当我需要安装驱动器时,我可以双击并运行该脚本,而不必总是手动输入命令。
答案1
我正在添加一种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
noauto
将会停止诸如在启动时强制挂载任何内容之类的简单操作,无论网络是否启动。x-systemd.automount
是知道何时安装的智能守护进程。- 标签
_netdev
还会识别它使用网络设备,因此它会等待直到网络启动。
答案2
您可以创建一个启动器并通过将文件拖放到启动器栏中.desktop
:
#!/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 [email protected]:/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://[email protected]/dir/dir
Comment[en_US]=Connect to xy via ssh
Name=Connect to xy
Comment=Connect to xy via ssh
Icon=nautilus
建议——更少的工作:
如果你想要更少的工作(=自动连接)和一个图形用户界面,你可能需要查看舞男 。只要书签文件系统存在,它就能够自动挂载书签。您可能想检查一下。
sudo apt-get install gigolo # or use the install link above
运行gigolo
。首选项中有一个选项可将其设置为自动启动,另一个选项可激活托盘图标。选中这两个选项。然后添加您的书签。
以下是屏幕截图:
壳体方式
另一个解决方案是将以下行放入您的 crontab 中(/etc/crontab
使用 sudo 权限编辑):
@reboot sshfs [email protected]:/dir/dir /home/username/mount/xxx
但是由于运行命令时不存在 Ubuntu 的密码管理器,因此您需要使用无密码的私钥/公钥对来验证相关 ssh 服务器(或类似的验证方法)。这将在每次重启时安装它。
另一个解决方案是编辑您的/etc/fstab
(提供您的 Ubuntu 版本提供该选项)。
答案3
此论坛主题展示了创建自动挂载 SSHFS 的方法,在我看来这正是您想要做的。
答案4
你甚至可以更进一步自动文件系统为您安装。由于 autofs 与 SSH 公钥身份验证配合得不是特别好(除非您想为超级用户创建无密码密钥对),有一些工具可以让你使用用户的 SSH 密钥,ssh-agent 和 keychain: