如何卸载非sudo sshfs创建的目录

我使用sshfs而不是sudo来创建一个目录,就像这样
sshfs user@172.19.76.226:/media/user/harddrive /temp/user/harddrive

但是当我想要卸载/temp/user/harddrive目录时,使用
umount /temp/user/harddrive

它提示:
umount: /temp/user/harddrive: Permission denied

怎么卸载这个目录?

1驱动器还在那里挂载吗?请[编辑]并提供mount命令的输出。 - dessert
你使用的是哪个Ubuntu版本?如果你不知道,可以通过lsb_release -r命令来查看。 - dessert
3个回答

sshfs 使用 FUSE(用户空间文件系统)而不是具有提升权限的常规 mount

这也意味着您不能使用 umountmount 的对应命令)来卸载文件系统,但您可以使用 FUSE 卸载命令 fusermount -u

fusermount -u /temp/user/harddrive

更多信息,请参阅例如man sshfsman fusermount

5请注意,17.10和18.04的手册页面明确指出“卸载:umount mountpoint”,而在16.04之前则是使用fusermount -u mountpoint – 可以看出不同版本有所不同! - dessert
这在Ubuntu 20.04上失败,并显示消息:"fuse: bad mount point /temp/user/harddrive': Input/output error"。我从未见过sshfs在没有使用sudo`的情况下正确卸载。 - Luís de Sousa

这个答案是针对Ubuntu 20.04的,但通常来说,你需要两个步骤来正确卸载一个sshfs卷:i)终止sshfs进程,并且ii)使用sudo来卸载。如果不使用sudo,系统会报告类似于"设备或资源忙"或"传输端点未连接"的消息,即使权限是正确的。

具体操作如下:

killall sshfs
sudo umount -l /temp/user/harddrive

自从我碰到这篇帖子并且不想“杀死”这个进程,只是想告诉你,在Ubuntu 22.04中,一个简单的umount命令就可以正常工作。
umount /mount/point/sshfs/folder

我没有收到任何警告或错误信息,确实在使用ps aux | grep ssh检查后终止了该进程。