fuse: 挂载点`/mnt'无效:传输端点未连接

我需要在我的服务器上本地编辑远程文件,所以我尝试使用SSHFS将整个远程文件系统(/)挂载到我的本地系统上。
 $ sshfs username@domain.com:// /mnt -p 22

然后它卡住了(光标闪烁,没有输出),所以我显然用Ctrl+C取消了它。
之后,挂载点文件夹/mnt变得有点不可用,无法访问(你懂的),并且在任何尝试访问它时都会返回这个错误信息: fuse: bad mount point `/mnt': Transport endpoint is not connected 而且它在其父文件夹中看起来很奇怪。
$ ls -l /
...
d?????????   ? ?    ?        ?            ? mnt`
...

怎样解决错误并恢复正常?
我应该做什么才能使用SSHFS?
2个回答

1. 结束所有的sshfs进程
  • 要么使用killall命令:

    killall sshfs
    

    要么选择性地执行以下操作:

  • 查找所有正在运行的sshfs进程:

    ps -ef | grep sshfs | grep -v grep
    

    假设你有两个正在运行的进程:

    $ ps -ef | grep sshfs | grep -v grep
    root     10906  5170  0 07:14 pts/0    00:00:00 sudo sshfs
    root     10907 10906  0 07:14 pts/0    00:00:00 sshfs 
    
  • 现在通过它们的PID来终止它们,可以同时终止它们或者选择性地终止它们:

    sudo kill -9 10906 10907
    


2. 卸载您的挂载点

sudo umount -l /mnt


3. 编辑 /etc/fuse.conf,这样你就再也不会遇到 "fuse: bad mount point `/mnt': Transport endpoint is not connected" 错误了。
  • 用你喜欢的编辑器以 root 身份打开它,例如

    sudo atom /etc/fuse.conf
    
  • 取消注释 user_allow_other 这一行。
  • 保存并关闭。


4. 使用以下选项与SSHFS一起使用:
sudo sshfs \
-d \
-o allow_other \
-o reconnect \
-o ServerAliveInterval=15 \
user@domain.com:/ /mnt \
-p 12345 \
-C
  • -d 打开调试模式(提供更多输出)
  • -o 代表“选项”
  • -p 允许您指定端口号
  • -C 打开压缩功能

来源:


5对我没用,还是卡住了。 - barnhillec
对我来说没用,但我意识到我可以通过终端浏览挂载的文件夹。这表明Nautilus搞砸了!为了确认这一点,我安装了Krusader并且在没有任何错误或问题的情况下导航到了那个文件夹。此时我建议你快速使用终端和另一个文件管理器进行检查,而不是多次挂载和卸载等操作。 - Mehrad Mahmoudian
在我的情况下,我发现它并不是真的卡住了,只是我试图去触及一些无法触及的东西,并且可能没有等待足够长的时间。光标可能也没有闪烁。在按下Ctrl+C之后,我得到了相同的错误信息。 - dasWesen
1е…ій”®ењЁдғҺдҢүз”Ёsudoе’Њumountе‘Ң令。如жһњдёҚдҢү用它们пәЊеЏҮиѓҢдәље‡ғзҺ°"и®ң备或资жғђеү™"ж€–"дә иң“з«Үз‚№жњҒиүһжҺӨ"з­‰й”™иҮҮдүҰжЃҮгЂ‚ - Luís de Sousa
我之前使用的是Android文件传输aft-mtp-mount),然后对我来说,sudo umount -l /mnt 这个命令起了作用。 - Renato Byrro
sudo umount -l /mnt/<path> 对我来说有效! - Felipe

有另一种方法。试试这个:
$ fusermount -u /mnt