2

My university's CS department has its own server used for development (from here on out, dev.univ.edu). I have SSH and SFTP access to this server, and I was hoping to do some heavy work on my Windows laptop using WSL. My plan was to use sshfs to mount the server's filesystem on my laptop via SFTP, so that I could use my own tools instead of having to use the limited programs on our server. However, whenever I try using sshfs, the following happens:

user@host:~$ sshfs -p 22 user@dev.univ.edu: ~/dev/ -o follow_symlinks
> fuse: device not found, try 'modprobe fuse' first

Running modprobe fuse gives me the following result:

modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-43-Microsoft/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-43-Microsoft

After some digging, it seems that fuse is not supported on WSL, even after the UserVoice page for fuse support has been up for over 2 years with over 1500 people asking for it. Since sshfs relies on fuse (I assume for creating the filesystem that the remote files sit in), this renders sshfs unusable.

I have found a project (billziss-gh/winfsp) that seems promising, but I have no idea how to implement it in combination with sshfs. Is there someone more knowledgeable than I am that can help me get this working?

EDIT: According to this issue, winfsp will not work with WSL. However, I noticed a project by the same guy (billziss-gh/nfs-win) that might be useful.

  • Until a good sshfs filesystem implementation has been created for window have you considered using git? creat repo on server, clone to desktop over ssh and push changes back to the server as you make them. – lijat Jan 10 at 12:06
0

So I have a workaround that you might like. I installed SFTP Net Drive 2017 and then remotely connected to the file system I wanted. I mapped it (via the GUI) as R:\. From WSL, you can then map R:\ to a local folder as explained here.

So in WSL, I have a folder in my home directory called cluster. To mount it to be my local home from my cluster, I run:

sudo mount -t drvfs R: ~/cluster

and to unmount it, I run

umount ~/cluster

for convenience, I made an alias sourced it from my .bashrc

alias mc="sudo umount ~/cluster; sudo mount -t drvfs R: ~/cluster

I hope this helps!

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.