How to avoid sshfs freezing?

I've installed sshfs on Ubuntu 12.04 and I'm trying to connect to a couple of remote servers.

Initially the mount seems successful. Sometimes, Gnome even picks it up and displays the "new device found" box at the bottom of the screen. But from here on there is not much that works. Or at least not any more. The first couple of times I connected it seemed to work fine, and I was able to transfer some files. Then I disconnected using fusermount -u <folder> and after reconnecting a little later the trouble started.

Now after executing sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, when I change directory into the mount point, the shell just freezes. Strangely, ls -al <folder> works when listing just the root of the remote system, but nothing more. Also every file explorer I've tried freezes just like cd <folder>.

To me, it seemed like there was some kind of zombie thread or something hanging around my system, due to the fact that it did work the first time, so I have tried rebooting but no luck.

sshfs -V gives this:

SSHFS version 2.3
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

If you started sshfs with -o reconnect, killing it's hanging SSH process will make it reconnect.

First find the matching SSH, for example:

ps -ef
...
user 9644 1 0 11:15 ? 00:00:00 ssh -x -a -oClearAllForwardings=yes -2 <host> -s sftp
...

The you can tell it apart by the distinctive set of options and the host you were connecting sshfs to. Then kill it, regular SIGTERM should be enough:

kill 9644

This should make SSHFS start a new SSH session and the mounted filesystem will become responsive again and all processes hanging on it will continue as if nothing happened.


How long have you waited for the freeze to resolve? It might just been transmission issues between you and the server in question.

I use sshfs between my system and a friend's who lives in the boonies (offical term!), he's on a overland wireless which occasionally drops out (we think his receiver is waving in the wind, losing signal lock).

If I wait, it DOES eventually sync up and do things, but occasionally it'll just hang for a few minutes.

Patience GrassHopper!


This is an old post and I'm not giving an ultimate solution to this, but I think I was having the same issue (on Ubuntu 14.04) and in my case lazy unmounting and remounting works (although it's a bit annoying):

fusermount -u -z /local/folder
sshfs -C user@server:/remote/folder /local/folder

I suspect you were just looking at cached results with ls -al <folder>.