如何使用sshfs自动挂载?
我使用以下命令将ssh ubuntu目录挂载到我的ubuntu pc。
sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
我的问题是,我可以在我的桌面上为此创建一个脚本,我可以双击并运行此脚本,而无需手动输入命令而无需手动输入驱动器。
你可以创建一个启动器并通过拖放.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
建议 – 更少的工作:
如果您想要更少的工作(= autoconnect)和图形用户界面,您可能想要查看Gigolo 。 只要存在书签文件系统,它就能自动安装书签。 你可能想检查一下。
sudo apt-get install gigolo # or use the install link above
跑gigolo
。 首选项中有一个选项可将其置于自动启动中,另一个选项可激活托盘图标。 检查两者。 然后添加您的书签。
这是一个截图:
壳牌方式
另一种解决方案是将以下行放在crontab中(使用sudo权限编辑/etc/crontab
):
@reboot sshfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
但是,由于在运行命令时Ubuntu的密码管理器不存在,您需要使用无密码的私钥/公钥对来validation相关的ssh服务器(或类似的身份validation方法)。 这会在每次重启时挂载。
另一个解决方案是编辑你的/etc/fstab
(提供你的Ubuntu-Version提供该选项)。
这个论坛post展示了一种创建自动挂载SSHFS的方法,在我看来,这正是你想要做的。
您只需将其键入shell脚本,然后就可以在桌面上为其创建启动器。
例如mountssh.sh
:
#!/bin/bash shfs user@192.xx.xx.xx.xx:/dir/dir /home/username/mount/xxx
确保chmod +x mountssh.sh
然后单击它将执行
或者,您可以通过gvfs安装它,方法是右键单击桌面,然后使用URL参数创建一个启动器: ssh://user@192.xx.xx.xx.xx/dir/dir
。 默认情况下,它会挂载到~/.gvfs/...
如果你想坚持/home/username/mount/xxx
,你可以创建从gvfs到这的符号链接。
您甚至可以更进一步,让autofs为您安装。 由于autofs在SSH公钥认证方面效果不佳(除非您想为超级用户创建无密钥密钥对 ),因此有一些工具允许您使用用户的SSH密钥,ssh-agent和keychain:
- autosshfs :使用用户SSH配置的每个用户SSHFS automount
- afuse :使用FUSE实现的自动挂载程序
我以完全相同的方式挂载文件夹,我所做的是创建一个指向包含该命令的.sh
文件的自定义启动器。 只需确保该文件具有执行权限,您就可以开始了。
我只需点击启动器: