Title: How to use sshfs on OpenBSD | |
Author: Solène | |
Date: 23 July 2022 | |
Tags: openbsd security | |
Description: This simple guide explains how to use sshfs to use sshfs | |
on OpenBSD | |
# Introduction | |
Today we will learn about how to use sshfs, a program to mount a remote | |
directory through ssh into our local file system. | |
But OpenBSD has a different security model than in other Unixes | |
systems, you can't use FUSE (Filesystem in USErspace) file systems from | |
a non-root user. And because you need to run your fuse mount program as | |
root, the mount point won't be reachable by other users because of | |
permissions. | |
Fortunately, with the correct combination of flags, this is actually | |
achievable. | |
sshfs project website | |
# Setup | |
First, as root we need to install sshfs-fuse from packages. | |
```shell | |
# pkg_add sshfs-fuse | |
``` | |
# Permissions errors when mounting with sshfs | |
If we run sshfs as our user, we will get the error "fuse_mount: | |
permission denied", so root is mandatory for running the command. | |
But if we run "sshfs server.local:/home /mnt" as root, we can't reach | |
the /mnt directory with our regular user because it's root property: | |
```shell | |
$ ls /mnt/ | |
ls: /mnt/: Permission denied | |
``` | |
This confirms sshfs needs some extra flags to be used for non-root | |
users on OpenBSD. | |
# The solution | |
As root, we will run sshfs to mount a directory from t470-wifi.local | |
(my laptop Wi-Fi IP address on my LAN) to make it available to our user | |
with uid 1000 and gid 1000 (this is the ids for the first user added), | |
you can find the information about your users with the command "id". | |
We will also use the allow_other mount option. | |
```shell | |
# sshfs -o idmap=user,allow_other,uid=1000,gid=1000 [email protected]:/hom… | |
``` | |
After this command, when I switch to my user whose id and gid is 1000, | |
I can read and write into /mnt. | |
# Credits | |
This article exists because many OpenBSD users struggle using sshfs, | |
and it's not easy to find the solution on the Internet. | |
OpenBSD as NAS FOSDEM talk giving an example of sshfs use | |
= > https://marc.info/?l=openbsd-misc&m=153390693400573&w=2 | |
[email protected] email thread explaining why fuse mount behavior | |
changed in 2018 |