39

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
3

5 Answers 5

28

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.

3
  • 2
    FYI: This solution looks very useful for improving the robustness of our sshfs connections in the first place: askubuntu.com/a/716618/327339. Also see #11 in the FAQ here: github.com/libfuse/sshfs/blob/master/FAQ Aug 3, 2017 at 12:33
  • is there some way to ensure that this doesn't affect the reliability of the FS? I encountered a case where the application reported an input/output error during the reconnect process and basically left the file it was working on in an unusable state.
    – Michael
    Apr 10, 2020 at 16:35
  • When I did this, wow ... there were 6 previous attempts hung. It has only failed when I mount under root. This works: sshfs -o IdentityFile=$HOME/.ssh/id_rsa user@host:/work /mnt/TMP/work and this does Not work: sshfs -o IdentityFile=$HOME/.ssh/id_rsa user@host:/work /work. TMP/work and /work have the same permissions, owners, etc. Why should one version work and the other lock the filesystem? I mean locked filesystem, nano wouldn't save a file while until I killed the sshfs command.
    – will
    Nov 11, 2022 at 1:30
3

Use sshfs -o reconnect,ServerAliveInterval=1 your-remote-ssh: your-local-folder to make ssh send message to server every second. This will enable sshfs to detect disconnection quickly and automatically reconnect to avoid possible hangs&freezing.

2
2

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>.

0
1

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!

2
  • 2
    I have tried waiting for some bit, maybe 10-20 minutes, but no luck. Maybe it just needs a couple of hours? ^^, Jul 3, 2012 at 9:17
  • One would hope not!! You might try logging in with sshfs -d' or sshfs -o LogLevel=Debug` (or 'Debug2') to turn on verbose mode... see if anything enlightening is printed.
    – lornix
    Jul 3, 2012 at 10:55
0

I had the same issue - cd-ing took a time nearly close to the Big Boom event.

The issue was the very simple - I've been using Git extensions for the shell and it ran git status under the hood. It means, that Git had to download a lot of data first.

Switching to the "extensionless" shell solved the issues with cd.

1
  • That's true, I am using zsh (with omz) with git extension which show branch name in status. When I cd in mountpoint shell freezed. When I switched to bash and cd into mountpoint it did not freezed. Btw, when I run git status inside mountpoint (using bash), it also freezes. Problem is presence of .git folder inside mountpoint.
    – T0maas
    Dec 6, 2023 at 13:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .