如何使用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 安装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文件的自定义启动器。 只需确保该文件具有执行权限,您就可以开始了。

我只需点击启动器:

在此处输入图像描述