Skip to content

How to use sshfs under windows to mount a filesystem via a BastionHost/JumpHost

Today, I had the "joy" to work on a linux machine and edit a lot of files. The problem is, I had to use a Windows 10 as host OS.
Furthermore, the remote machine was available only via a bastion host/jump host. So it took me some time to make this possible.

I was not able to make sshfs-win working. WinSCP is a fallback option but this would result in edit a file -> save a file -> upload a file. I wanted to avoid the step upload a file.

What comes after this line is a snapshot of my created howto. I hope it will save you some time. It took me a lot to figure it out.

Given is, that you need to mount a filesystem via sshfs.

Following up, I will provide a guide how to do this by using a Windows 10 machine.

Bonus task, we are using a jumphost.

Steps

1.) Ensure you are running wsl2

  • wsl1 does not have a working fuse
  • Open a powershell and run wsl --list --verbose
  • If the VERSION says something bigger 1, you are fine
  • Else
    • Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    • Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
    • Download wsl_update_x64.msi from https://aka.ms/wsl2kernel
    • Install the msi
    • wsl --set-version <string: Distro like Debian> 2
    • Wait
    • wsl --list --verbose should output something like 2 in column VERSION

2.) Ensure you've sshfs installed

  • Open the shell to your wsl linux
  • test -f /usr/bin/sshfs && echo "sshfs already installed" || sudo apt install sshfs -y

3.) Configure your ssh

  • Open the shell to your wsl linux
  • test -d ~/.ssh || mkdir ~/.ssh;
  • Add content like the following in your ~/.ssh/config file
  • sudo bash -c "echo '#enable option' >> /etc/fuse.conf"
  • sudo bash -c "echo 'user_allow_other' >> /etc/fuse.conf"

Example content of the ssh config file

HOST my.main.host-username
  HostName my.main.host
  ProxyJump my.bastion.host-username
  User username
  #optional but recommended
  IdentityFile ~/.ssh/my_private_key

HOST my.bastion.host-username
  HostName my.bastion.host
  User username
  #optional but recommended
  IdentityFile ~/.ssh/my_private_key

4.) Mount and umount the filesystem

  • You can add the following lines to your alias
  • Assumed is, that the path ~/network/host.main.my exists
  • ssh my.main.host-username
  • id -a
  • exit
  • Not down the number for uid and gid
    • Example:
    • For the output uid=1337(artodeto) gid=4711(bazzline) groups=...
    • uid is 1337
    • gid is 4711
  • mount: sshfs -o ProxyJump=my.bastion.host-username,allow_other,uid=<int: number>,gid=<int: number> my.main.host-username:/my/path ~/network/host.main.my

Fix >>failed to setup inotify handler. Please increase inotify limits<< on truenas scale for syncthing

I am using Syncthing on my truenas scale and got the following error after adding more and more directories.

failed to setup inotify handler. Please increase inotify limits, see https://docs.syncthing.net/users/faq.html#inotify-limits

The fix is simple, just login to your truenas scale and click to System Settings -> Advanced -> Sysctl -> Add.

Add Variable fs.inotify.max_user_watches with value 204800 and that's it. Happy syncthing!

Temporary fix lot of entries in nextclouds user "Devices & sessions"

Hello there,

when logged into my nextcloud server as user, I clicked to User Bubble -> Settings -> Security and found a long list of entries below Devices & sessions.

After searching the issue list, I found this issue ticket.

The issue is know but either it is a kind of special issue ore no one really cares about it.

There is currently no real solution but I want to offer a temporary one.

You can create a cronjob that executes the following sql statement once per week or day.

```sql
--- 
--- You have to replace <user_name> with your user name
--- 

DELETE FROM 
  `oc_authtoken` 
WHERE 
  `uid` = <user> 
  AND `last_activity` < UNIX_TIMESTAMP(DATE_SUB(CURRENT_DATE(), INTERVAL 16 DAY));

OPTIMIZE TABLE `oc_authtoken`;
```

From my point of view, it looks like Firefox is doing something strange. Maybe other browsers behave the same.

Best regards, artodeto

Nextcloud create public upload link

So today I wanted to quickly setup a public shared link so that a friend of mine is able to easily upload a file to me.

Of course, I've stumbled over the file drop but I was not able to find the "File drop (upload only" section when I was creating this share.

I tried to find more information and was digging into the documentation. I was going through the issue list but at the end, I was not able to fix the missing option. I was also quickly updating the server to the latest version, but also, no "File drop" selection.

Than, after reading the logs, investigating the config.php, I finally found the missing link.

As an administrator, you have to go to Sharing and check the Allow public uploads configuration setting. After that, you can finally create your share as a user known as "file drop".