I had the same error when I tried to fuse mount on a path not covered by the allow rules in /etc/apparmor.d/fusermount3.
These show up in dmesg containing the text failed mntpnt match.
The mount point was below /srv/, which worked with previous versions of Ubuntu.
I moved the tree into /mnt/, but could have added extra mount and unmount rules to the apparmor profile.
A side note related to the other answer: my path contains a parent directory with no permissions whatsoever for other, and it mounts fine.
Answer from Walf on askubuntu.comAndroid error: failed to mount FUSE fs: fusermount: fork/exec fusermount: permission denied
application - "fuse: failed to exec fusermount: Permission denied" on attempt to run ICIJ neo4j AppImage on Centos - Unix & Linux Stack Exchange
fuse: failed to exec fusermount: No such file or directory
[Bug]: v5.3.0-beta.6 AppImage fails to start
I had the same error when I tried to fuse mount on a path not covered by the allow rules in /etc/apparmor.d/fusermount3.
These show up in dmesg containing the text failed mntpnt match.
The mount point was below /srv/, which worked with previous versions of Ubuntu.
I moved the tree into /mnt/, but could have added extra mount and unmount rules to the apparmor profile.
A side note related to the other answer: my path contains a parent directory with no permissions whatsoever for other, and it mounts fine.
Run id to double check the user and group IDs of your accounts on both your local and remote systems. I'm guessing they're different, even if the names are the same. In that case FUSE is trying to modify the local mount point as an other user, as far as chmod and permissions are concerned. Therefore, you need to chmod o+rx ~/fusessh. The mode (permissions) of this mount point will be modified by the mode of the root of the filesystem that you mount, otherwise the directory should be empty if nothing is mounted, so giving other read and execute permissions shouldn't be much of a security risk.
In order to unmount, every directory in the mount path needs to have execute permissions. Run realpath ~/fusessh, then make sure that each directory in that path has the execute bit set for other (still assuming that UID/GID are different on each system).
Note: I post this now because I encountered these exact same issues today. To be honest, I don't know exactly how FUSE works under the hood. In my case the UID was the same on both systems, but the GID differed. Still, nothing worked until I gave permissions to other. I experimented with the uid, gid, and default_permissions mount options, but none of those fixed the issues. It seems to me that those mount options only changed their respective attributes after the filesystem was mounted, but that FUSE was operating under the UID/GID of the remote system before the mount finalized. Again, this is only speculation, but it fits the behavior.