Can't open files from network share

Hi everyone

Newbie to Linux need a little help from some smart people.

I have installed Fedora 38 with KDE desktop on my laptop, and I have also successfully connected to my routers external hard drive. I can browse through all the folders and files no problem. But whenever I try to open anything, either the file browser Dolphin or the app that can open the file (example: VLC) tells me it can’t reach the file. It doesn’t exist.

I have tried copying the files to my desktop, but I get the same error. The files doesn’t exist, despite me starring right at it.

The network share is SMB.
My router is an ASUS RT-AC68U
I have checked it does have the latest firmware.

I have tried linux before, and run into this problem, but gave up. Not this time. I am determined to learn, so I one day can leave Windows behind.

Can any of you clever people help me figure out what I have done wrong?
Or point to a workaround so I can get at my files on the network share?

Thank you kindly in advance :slight_smile:

Can you ssh into the router? If not, the following is all a moot point. If so you could possibly set up your client with ssh keys and then you could mount the drive/s in fstab. There are plenty of YouTube videos of setting up ssh keys and copying the public key over to the remote/router, so I won’t try to cover all of that here.

I am posting the instructions I used to setup my keys and get all of this working. I would love to give credit to the person that did it, but I don’t remember where it came from.

I did a search and found it at networking - How do I share a folder with another Linux machine on the same home network? - Ask Ubuntu I just hope the forum lets me share the link.

I find SSHFS to be native, stable and extremely fast. I have two xubuntu machines (18.04) sharing /home folders and an Intel NUC as 'dropbox' USB stick. All over sshfs.
UPDATE 2020-07-12: I found SSHFS for Windows. A clean beautiful GUI, zero config and works with the SSH keys from linux-machines.
    • Howto: https://github.com/billziss-gh/sshfs-win
    • GUI https://github.com/evsar3/sshfs-win-manager
Here's how to set this up sshfs and automatically reconnecting after a reboot using fstab without having to provide a password. A big thank you to serverfault user kubanczyk for how to reconnect after a remote suspend/resume.
I'll use "Local machine - surfbox" for computer you're connecting from, and "Remote machine - devbox" for the computer you're connecting to.
Check your userID och groupID, they should both be 1000.
GroupID: id -g localuser UserID: id -u localuser
1. Get IP-adresses of your Local & Remote Machines.
hostname -I
I'll use 192.168.1.150 for Local Machine ('surfbox') and 192.168.1.151 for Remote Machine ('devbox')
2. Install packages on Local and Remote Machines
sudo apt install sshfs fuse ssh
3. Create a group fuse and add localuser to it
Create group: sudo groupadd fuse
Add localuser to the group: sudo usermod -a -G fuse $USER
4. Enable "allow_other" in fuse config
We will need this option when mounting in fstab
Edit /etc/fuse.conf with your command line editor. Remove the hashtag before user_allow_other and save.
5. Generate SSH keys on Local Machine
Do not provide a password when prompted. Just press Enter to leave blank.
ssh-keygen -t rsa -C youremail@example.com
Keys are stored in Local machine home directory /.ssh folder
6. Transfer your Local machine public SSH key to the Remote machine
ssh-copy-id -i ~/.ssh/id_rsa.pub remoteuser@192.168.1.151
You will be prompted for password for Remote user on Remote machine. Local machine public key is now added to the file ~/.ssh/authorized_keys on Remote machine.
7. Create a directory on Local machine /mnt folder where you will mount the Remote machine /home folder.
Choose any name which makes sense for your Remote machine.
sudo mkdir /mnt/devboxhome
8. Mount the Remote machine /home directory from terminal
Syntax for sshfs is
sshfs [user@]host:[directory] mountpoint [options]
we use
sudo sshfs [remoteuser]@192.168.1.151:/home/[remoteuser] /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/[localuser]/.ssh/id_rsa
example: assuming "steve" is the username on both Local and Remote machines
sudo sshfs steve@192.168.1.151:/home/steve /mnt/devboxhome -o allow_other,default_permissions -o identityfile=/home/steve/.ssh/id_rsa
Since you have transferred the public RSA key to Remote machine you should not be prompted for remoteuser password.
You will get a warning that the machine is not trusted and prompted if it should be added. Add the Remote machine as trusted.
9. Verify: Browse Remote Machine /home directory
In terminal on Local machine you can now list Remote machine /home directory under /mnt/devboxhome
cd /mnt/devboxhome ls
or use Nautilus to browse the directory. Great.
10. Enable reconnect after reboot
We will add an entry in /etc/fstab to make this happen. You will need your Local machine userid och groupid - see intro if you missed this. Edit /etc/fstab with your command line editor and add these two lines at the end of /etc/fstab
# Mount devbox at boot remoteuser@192.168.1.151:/home/[remoteuser]/ /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,ServerAliveInterval=15,ServerAliveCountmax=3,allow_other,identityfile=/home/[localuser]/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
    • delay_connect makes the kernel wait until the network is up until it tries to mount the directory on Remote machine.
    • Since we are running as root during boot we have to specify the keyfile which is stored in localuser home directory.
    • allow_other - users other than the one doing the actual mounting can access the mounted filesystem.
    • idmap=user - only translate UID of connecting user
    • reconnect, ServerAliveInterval, ServerAliveCountMax - ssh sends keep-alive pings. If ServerAliveCountMax consecutive pings fail, reconnect.
A user logging in as steve on Local and Remote machines would have:
steve@192.168.1.151:/home/steve /mnt/devboxhome fuse.sshfs default_permissions,user,delay_connect,reconnect,ServerAliveInterval=15,ServerAliveCountmax=3,allow_other,identityfile=/home/steve/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
IMPORTANT: a slash after remote directory: steve@192.168.1.151:/home/steve/
save /etc/fstab and ....
11. Reboot
You should now be able to access Remote machine /home directory in the Local machine /mnt/devboxhome In Nautilus you can drag this folder to the Places bar
12. Repeat
Go through the same steps again on Remote machine to make the /home directory of Local machine shared.

Here are a couple of lines from my /etc/fstab on my laptop that mounts the shared drives on my desktop pc. The hard part is getting the ssh keys done and that is not very difficult.

Below, heisenberg is the desktop. The two drives are one HDD and one SSD. There is no difference between them as far as mounting is concerned. You could use the IP Address instead of the PC Name.

wilson@heisenberg:/4TB-HDD /mnt/4TB-HDD fuse.sshfs default_permissions,user,delay_connect,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,allow_other,identityfile=/home/wilson/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0
wilson@heisenberg:/HomeBack /mnt/HomeBack fuse.sshfs default_permissions,user,delay_connect,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,allow_other,identityfile=/home/wilson/.ssh/id_rsa,idmap=user,uid=1000,gid=1000 0 0

By the way, these are not SMB shares. It’s not needed. I don’t think you have to install fuse on the router. I know it has to be installed on your PC to mount the drive/s. I could be wrong on this though. Maybe someone else can chime in.

Thank you very much for your reply and your time to write it.

I am afraid I don’t know what SSH is, or how to use it. I have gone through the manual, and there is no mentioning of SSH. So I don’t think the router is capable of it.

1 Like

@Tea-Sir:

Here with an AVM FRITZ!Box 7490 Router with an attached USB drive and, via Dolphin – Network → SMB Shares – no access issues …
Noted here the Dolphin path accessing the USB disk on the Router – no issues with simply clicking on the JPEG files and having Gwenview simply open up and display the photo –

smb://«User Name»@fritz.box/FRITZ.NAS/ST950032-5AS-01/xxx/Bilder/2010/2010-04-03/


  • How do you handle the management of the User Access to the Router?
    I have multiple users, each with their own password, defined on the Router.

Are you using KWallet to manage the users and passwords needed for the SMB access to the Router?


BTW, the non-dual-boot Linux system I’m using is this one:

Operating System: openSUSE Leap 15.5
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 5.14.21-150500.55.19-default (64-bit)
Graphics Platform: X11
Processors: 8 × AMD Ryzen 5 3400G with Radeon Vega Graphics
Memory: 29.3 GiB of RAM
Graphics Processor: AMD Radeon Vega 11 Graphics
Manufacturer: ASUS

The only Redmond stuff I have runs as a guest OS in an Oracle VirtualBox on this Linux host system …

1 Like

At the command line on your PC, you would just type in

ssh user@ipaddress

If it has ssh capability, it should ask for a password. These would be the ones you login to the router with.

@Franken14679 has the SMB method that should work as well.

I just tried opening the SMB share, like described by @Franken14679 . But VLC still spits out an error that it can’t open the file.

I went for another folder looking for a picture file, but it kept asking me for the password, and despite inputting the correct password, it just kept on asking.

It accepts the password when I open the root folder, and some folders can be opened, some can not (Keeps asking for the password, no errors if wrong, just keeps popping up)

I have no idea if I am using Kwallet. I have checked the box to remember the password.
I can’t find the setting where it shows if I have any saved in kwallet.
Kind of a noob here :sweat_smile:

I have had this issue before, when I tried with Manjaro and Kubuntu (both KDE desktop), and was one of the reasons I gave up at the time.

I have been watching The Linux Experiment on YouTube and he seemed very in favor of Fedora, which is why I gave it a go. And because the other distros have caused me issues before.

I don’t know the IP address of my router, I connect to it with hostname. And no, my router does not have a usual IP, as it is only running as an access point. My ISP router is running as DHCP. And I unfortunately I have to do it that way, otherwise my ISPs router will freak out, and I don’t have internet.

I do have user management options in the GUI of my ASUS router, I have only the one user that I am currently using. Last time I tinkered with it, it did freak out a little bit, and since I do not have a backup of my drive connected to it, I am not too comfortable tampering with those settings.
I did try to look for SMB settings, but all I have is an ON or OFF toggle.

Any Windows system I have had connected works flawlessly, I have had a few Macs on it as well, and they don’t have a problem either.

I’m 65. If I can teach myself this stuff, so can you. :slightly_smiling_face:

Your router should have an internal IP Address. On your PC, that would be the Gateway Address. This is the IP Address where you will find the share.

The DHCP Address your router gets from your ISP is the External IP Address and is irrelevant as it is outside your network.

Have you checked your firewall settings?
Can you post the actual error message (word for word), or make a screenshot?
If this doesn’t help try starting dolphin from konsole to get better errors.

E: do you have apparmor or selinux installed?

1 Like

@WilsonEPhillips I am trying to learn this. But network is NOT my strong suit. I hate it.

Anyway, found a tool that could resolve the IP addresses on my devices on my network, and my router does not have SSH. The connection is refused before I even get to type my password.

I also tried opening my SMB share with the IP, but it keeps asking for my password. And yes I am inputting the right one :blush:

When you are trying to open the SMB share, are you using the same UserName that you use to login to the router?

@Duha I just know opened the firewall settings for the first time, and none of it makes any sense to me. I have no clue what to look for.

How do I start Dolphin from the konsole?

I have no idea what either of those things are.

@WilsonEPhillips Those are the same for my router yes.
I know the username and password is correct, they are the same ones I use on Windows.

Konsole is the program that gives you a command prompt.

At the command line, type: dolphin

Any errors in dolphin will now show in the konsole window.

Sorry about that mistake.

I already have been in the konsole for a few things, so I have it open.
I just don’t know how to start Dolphin from the konsole

type dolphin and hit enter, then dolphin should open and konsole should also stay open and print out stuff.

Ah, the capital D got me there. Thanks.

I tried opening a folder I have the movie “Die Hard 1”, and got an error. I could open it earlier…

I then tried a folder with the movie “Black Panther”, could open the folder, movie file same bug as described at first in this thread.
Here is the output from the konsole.

kf.kio.core: "Adgang nægtet til smb://rt-ac68u-2b20/Boksen."
kf.kio.core: "Filen eller mappen smb://Glenn@rt-ac68u-2b20/Boksen/Spillefilm/Die Hard I - Die Hard findes ikke."
Cannot initialize model with data QJsonObject(). missing: QJsonValue(string, "urls")
QString::arg: 2 argument(s) missing in org.videolan.VLC
VLC media player 3.0.18 Vetinari (revision 3.0.13-8-g41878ff4f2)
[00005654a8e81710] main libvlc: VLC kører med standardbrugerfladen. Brug 'cvlc' for at køre VLC uden brugerflade.
Qt: Session management error: Could not open network socket
[00007f82300016c0] dsm stream error: Unable to login
[00007f82300016c0] dsm stream error: Unable to open file with path Spillefilm\Black Panther\Black Panther (2018).mp4 (in share Boksen)

The first line translates “Access denied to”
The second lines translates “File or folder in share did not exist”

Session management error: Could not open network socket

There is the problem. First guess is firewall. You will need to add smb-client but different distros use different package names. However, it is probably already installed and just needs to be opened in the firewall.

This forum software handles screenshots well, and could be handy if you have issues with this.

Due to security, most ports in the firewall are closed by default and must be opened by you.

I have no idea where to start. The only time I deal with firewall settings is either by allowing or denying, or changing the checkmark for that setting.

With which user and password are you trying to login? Your linux user +pasword or your samba user + password?

E:

Arch Wiki says : If you are using a [firewall](https://wiki.archlinux.org/title/Firewall), do not forget to open required ports (usually 137-139 + 445). For a complete list, see [Samba port usage](https://www.samba.org/~tpot/articles/firewall.html)

Source: https://wiki.archlinux.org/title/Samba

1 Like