Page 1 of 1
Forum

Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!

Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.

Please note that switching to another language when reading a post will not bring you to the same post, in Dutch, as there is no translation for that post!



Share:
Notifications
Clear all

ConnectMeNow - [Tiago] SSHFS Issue

2 Posts
1 Users
0 Reactions
9 Views
 Hans
(@hans)
Famed Member Admin
Joined: 13 years ago
Posts: 3041
Topic starter  

Moving Tiago's bug report from the comments to the forum.

His post:


it’s Tiago again. I don’t know if you remember me, but you’ve helped me before on one bug or another in ConnectMeNow. For that, I am very thankful.

I’m passing by to report another one. I am trying to use ConnectMeNow to connect to a NAS via SSHFS, as I had attempted in the past, but that is still failing for me. Last time we discussed this matter, I never figured out why the connection was not working. It functions properly over Terminal, but not with CMN. I am currently using v4.0.18, on a MacMini (Mac16,11) with macOS 26.2 (25C56).

To try and address this issue, I have been trying to “Test Mount” (or directly connect from the Menu Bar) while having the Log Window open. Unfortunately, the log does not provide me enough information to understand what the issue is, even after I enable “Log Messages to Console”. Here is an excerpt of a mount attempt using SSHFS (“SERVER” and similar bold texts are placeholders for private info):

11:59:44 │ Mount requested for: "SERVER"
11:59:44 │ - Max Attempts = 1
│ Attempts Left = -1
│ Last Attempt = n/a
11:59:44 │ - Doing default short mount delay (1 second)
11:59:45 │ - Starting mount background task
11:59:45 │ - RETRY MOUNT TIMER: Started 1 minute timer for remount attempts
11:59:45 │ - Enabled timer for potential extra mount attempts
11:59:45 │ - Thread started

11:59:45 │ Thread - Calling for forced status update (only shows results if something changed)

11:59:45 │ Mount status update:
│ Mount/Open Networkshare feedback (Commandline):
│ Attempting to mount an SSHFS connection
│ - Server: SERVER-ADDRESS
│ User: SERVER-USERNAME
│ Authentication: Password
│ - SSHFS version 2.10

│ - WARNING: Using SSHPASS to login with password which is NOT SECURE!
│ "/Applications/ConnectMeNow4.app/Contents/MacOS/sshpass" -p "PASSWORD" /usr/local/bin/sshfs -f "SERVER-USERNAME@SERVER-ADDRESS:/" "MOUNT-PATH" -p 22 -d

11:59:45 │ Thread - Calling for forced status update (only shows results if something changed)

11:59:46 │ -- STATUS UPDATE - THREAD CALLBACK ------------------------------------------------

11:59:46 │ - RAW DUMP:


11:59:46 │ Update type
│ - Initial read : -
│ - Timed Interval : -
│ - Get Network info : -
│ - Forced Update : YES

│ Status Interval : 10000 milliseconds
│ Interval Interrupts : 500 milliseconds
│ Failed mount after : 30000 milliseconds

│ Default gateway : IP-ADDRESS (MAC-ADDRESS)

11:59:46 │ - Mount Status Updated: Counted 0 active share(s)
11:59:46 │ - Matched 0 Network shares. (matched all)
11:59:46 │
│ -- STATUS UPDATE - COMPLETED ------------------------------------------------------
11:59:46 │ - RETRY MOUNT TIMER: Stopping timer
11:59:46 │ - RETRY MOUNT TIMER: Quiting, nothing left to retry, and no Fallback servers left either
11:59:46 │ - Updating "Mount onAppear" list
11:59:46 │ - Updating "Mount onAppear" list

 

The base command after the “WARNING” line seems to be the same I pass to the Terminal, with the exception of the `sshpass` call. I tried substituting symbols in the password by their URL encoding to see if that helped, but nothing. However, two things that I have noticed:

– changes to the `~/.ssh/config` file are not automatically loaded in ConnectMeNow. Even after restarting the application, I cannot force new SSH settings to be applied to SSHFS mount attempts. I am still trying to understand when new settings are loaded.

– If “Use Login” is disabled, but the Username and Password fields are not blank, ConnectMeNow still seems to use those settings when attempting mounts. My server and mac logins are different, so I know CNM is not just applying the mac username instead.

In reality, for both cases it might be that a new set of Share configurations is not being immediately applied. This means I cannot be sure of what is being attempted each time just by looking at the log. But it is nevertheless strange that I change a configuration and my subsequent mount attempt still reports an option not present in the preferences panels.

As always, thank you very much for the great software,


This topic was modified 2 hours ago by Hans

   
ReplyQuote
 Hans
(@hans)
Famed Member Admin
Joined: 13 years ago
Posts: 3041
Topic starter  

Sorry that I had to move this here ... (just trying to keep the comments as clean as possible)

So I just installed macFUSE with the SSHFS Extension and I assume you're using the same one.
I have SSH enabled on my QNAP NAS, and created a mount:

Note that I'm using a password, and I also tested it with SSH key (recommended / most secure method AFAIK).
Both worked but I did notice Finder not listing the mount.
Forklift (my favorite filemanager) on the other hand DOES show the mount just with a weird name:

Most likely since mac FUSEdoes not hook into the macOS framework (API) for mounting shares in "/Volumes".
So it will only mount in a path you defined as it is a commandline mount.

the log shows me this:

  • with password:
12:29:47 │ Mount status update:
         │ Mount/Open Networkshare feedback (Commandline): 
         │ Attempting to mount an SSHFS connection
         │ - Server: 192.168.1.200
         │   User: admin
         │   Authentication: Password
         │ - SSHFS version 3.7.5
         │   FUSE library version 3.17.4
         │   using FUSE kernel interface version 7.40
         │   
         │ - WARNING: Using SSHPASS to login with password which is NOT SECURE!
         │ "/Applications/ConnectMeNow4.app/Contents/MacOS/sshpass" -p "PASSWORD" /usr/local/bin/sshfs -f "admin@192.168.1.200:/share/Downloads/" "/Users/hans/MountPoints/test" -p 22
12:29:47 │ Thread - Calling for forced status update (only shows results if something changed)

12:29:48 │ -- STATUS UPDATE - THREAD CALLBACK ------------------------------------------------
         │ 
12:29:48 │ Update type
         │  - Initial read     : -
         │  - Timed Interval   : -
         │  - Get Network info : -
         │  - Forced Update    : YES
         │ 
         │ Status Interval     : 10000 milliseconds
         │ Interval Interrupts : 500 milliseconds
         │ Failed mount after  : 30000 milliseconds
         │ 
         │ Default gateway     : 192.168.1.1 (MAC: 11:04:66:51:6D:A2)
         │ 
12:29:48 │ - Mount Status Updated: Counted 1 active share(s)
12:29:48 │ - Active share: SMB AllShares (Marvin)(Path: /Volumes/AllShares)
12:29:48 │ - Matched 1 Network shares. (matched all)
  • with SSH keys:
12:33:24 │ Mount status update:
         │ Mount/Open Networkshare feedback (Commandline): 
         │ Attempting to mount an SSHFS connection
         │ - Server: 192.168.1.200
         │   User: admin
         │   Authentication: SSH keys
         │ - SSHFS version 3.7.5
         │   FUSE library version 3.17.4
         │   using FUSE kernel interface version 7.40
         │   
         │ - Relying on SSH keys being installed on server, or manual password entry
         │ - CMD: "/usr/local/bin/sshfs" "admin@192.168.1.200:/share/Downloads/" "/Users/hans/MountPoints/test" -p 22 
12:33:24 │ Thread - Calling for forced status update (only shows results if something changed)
12:33:24 │ System Mount Callback: "/Users/hans/MountPoints/test"
12:33:24 │ Thread - Calling for forced status update (only shows results if something changed)
12:33:24 │ -- STATUS UPDATE - THREAD CALLBACK ------------------------------------------------
         │ 
12:33:24 │ Update type
         │  - Initial read     : -
         │  - Timed Interval   : -
         │  - Get Network info : -
         │  - Forced Update    : YES
         │ 
         │ Status Interval     : 10000 milliseconds
         │ Interval Interrupts : 500 milliseconds
         │ Failed mount after  : 30000 milliseconds
         │ 
         │ Default gateway     : 192.168.1.1 (MAC: 11:04:66:51:6D:A2)
         │ 
12:33:24 │ - Mount Status Updated: Counted 3 active share(s)
12:33:24 │ - Active share: SMB AllShares (Marvin)(Path: /Volumes/AllShares)
12:33:24 │ - Active share: SSHFS Downloads (192.168.1.200)(Path: /Users/hans/MountPoints/test)
12:33:24 │ - Matched 2 Network shares. (1 unknown)
12:33:24 │ Updating Controls to show selected Share Details
12:33:24 │ - New actived share(s): 
         │   - SSHFS Downloads (192.168.1.200)(/Users/hans/MountPoints/test)
12:33:24 │ 
         │ -- STATUS UPDATE - COMPLETED ------------------------------------------------------

Tip: You can see the "mount" output through the "Tools" button in the log window:

Which shows something like this (last line is the SSHFS):

12:45:32 │ TERMINAL:
         │ 
         │ /dev/disk3s3s1 on / (apfs, sealed, local, read-only, journaled)
         │ devfs on /dev (devfs, local, nobrowse)
         │ /dev/disk3s6 on /System/Volumes/VM (apfs, local, noexec, journaled, noatime, nobrowse)
         │ /dev/disk3s4 on /System/Volumes/Preboot (apfs, local, journaled, nobrowse)
         │ /dev/disk3s2 on /System/Volumes/Update (apfs, local, journaled, nobrowse)
         │ /dev/disk1s2 on /System/Volumes/xarts (apfs, local, noexec, journaled, noatime, nobrowse)
         │ /dev/disk1s1 on /System/Volumes/iSCPreboot (apfs, local, journaled, nobrowse)
         │ /dev/disk1s3 on /System/Volumes/Hardware (apfs, local, journaled, nobrowse)
         │ /dev/disk3s1 on /System/Volumes/Data (apfs, local, journaled, nobrowse, protect, root data)
         │ map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)
         │ admin@192.168.1.200:/share/Downloads/ on /Users/hans/MountPoints/test (macfuse, nodev, nosuid, synchronous, mounted by hans)

 

As for "~/.ssh/config" - this would be a file on your server, and not on your Mac (just mentioning it as it wasn't clear from your comment if this is where you were looking).
You can add your key by clicking the "Install SSH key" button in the share definitions in CMN. 

SSH keys will only be used if the password is set to blank.
Clicking the "Install SSH key" will also conclude with a question if you want to try a mount with a blank password.
The checkbox in front of the username needs to remain checked, since even with an SSH key, the username needs to be used (not the password of course).
Disabling the login would never work as it assumes no username and no password - which would be refused by your server.

 

So in short for setting up a SSHFS mount:

  1. Install macFUSE with the SSHFS extension (which you already did)
  2. Enter IP address, username and password for the share
  3. You can optionally test this first (if it fails: make sure your password doesn't have anything special characters in it)
  4. Next click the "Install SSH key" button which uses the login info to login and update the "~/.ssh/config" file on the server
  5. After that CMN will ask if you'd like to test without password: do so and the share should get mounted and you'd be good to go from here on.

Again: do not remove the checkbox at "Use login [x] Username". I can understand how this may be confusing though. SSHFS is typically used by folks very familiar with SSH - I do not even use it, even though it feels faster at times than a SMB mount.

Hope this helps 😊 



   
ReplyQuote
Share: