2025/05/11 SSHFS-Mountlet v0.7.4 -- a graphical SSHFS connection manager for macOS -- You may use SSHFS-Mountlet to mount SSHFS connections. It provides a menu bar icon listing predefined SSHFS connections for quick access. An established SSHFS connection to a server makes the remote file system available to your local host; usage and appearance are likewise local folders. You may manage your remote files and folders easily in Finder. SSHFS-Mountlet is a simple SSHFS connection manager GUI with support for DNSSEC, SSHFP and SSH keys. It can be used on top of either macFUSE or FUSE-T. Requirements: macOS 13 Ventura or higher (do not use outdated versions of macOS, please), SSHFS, an installation of FUSE and an ssh key (or password) authentication based SFTP connection ready to use. Installation Notes: SSHFS is not actively developed at the moment. The current maintainer makes regular releases only when high-impact issues arise. There are two projects providing FUSE (file system in user space): macFUSE and FUSE-T. macFUSE changed its license a while ago and became closed source. In consequence Homebrew and maybe others do not ship macFUSE and SSHFS any longer. MacFUSE needs a kernel extension, which is difficult to install, but ships an up-to-date version of SSHFS. There is a newer project which can be used as a replacement for macFUSE: FUSE-T. It doesn't need a kernel extension (it uses an NFS v4 local server instead) and is free software. FUSE-T also provides a package for SSHFS, which is unfortunately very much outdated. SSHFS-Mountlet can also steer FUSE-T based SSHFS mounts. Installing Prerequisites: You need to have a working installation of sshfs, which itself requires FUSE. Read the notes in the previous paragraph. Decide to either use macFUSE (1) or FUSE-T (2): (1) The latest version of macFUSE is available from: https://macfuse.io/ ...download and install macFUSE as well as SSHFS. Make sure the needed kernel extension is allowed to load, see: https://github.com/macfuse/macfuse/wiki/Getting-Started (2) The latest version of FUSE-T can be obtained from: https://github.com/macos-fuse-t/fuse-t/releases/latest Download and install the .pkg file above as well as the corresponding SSHFS package: https://github.com/macos-fuse-t/sshfs/releases/latest FUSE-T can be installed from Homebrew as well, basically this is: brew install macos-fuse-t/homebrew-cask/fuse-t brew install macos-fuse-t/homebrew-cask/fuse-t-sshfs For more information consult the project page under: https://www.fuse-t.org/ ...or their wiki pages: https://github.com/macos-fuse-t/fuse-t/wiki To use FUSE-T under macOS Sequoia you need to add the option -o nonamedattr to each and every connection for now. See: https://github.com/macos-fuse-t/sshfs/issues/4#issuecomment-2644744108 Optionally, install an ssh-askpass program that provides a GUI to enter your passphrase or password. I would suggest ssh-askpass-mac from: https://github.com/lukas-zronek/ssh-askpass-mac/releases/latest See https://github.com/lukas-zronek/ssh-askpass-mac for a description and how to set it up. In short terms this is: Drag and drop ssh-askpass.app into the Applications folder and issue the following commands in a Terminal: ln -s /Applications/ssh-askpass.app/Contents/Resources/at.zronek.lukas.ssh-askpass.plist \ ~/Library/LaunchAgents/ && \ launchctl load -w ~/Library/LaunchAgents/at.zronek.lukas.ssh-askpass.plist Log out and back in again. Installation/ Updating of SSHFS-Mountlet: Drag SSHFS-Mountlet to your Applications folder, right-click and choose Open, allow execution when asked. In newer versions of macOS, you may have to repeat the procedure to see the dialog. Setup: Configure a connection entry in SSHFS-Mountlet through the menu bar icon and the corresponding dialogs. Some notes about identifying remote hosts: If there are DNSSEC secured SSHFP records of your server to connect to published in the DNS and your local resolver validates DNSSEC, you're ready to go. Otherwise uncheck "DNS verification" in the "Connection Entry" dialog and decide how you would like to handle unknown host keys using the leftmost control element in the "Connections" dialog (to the left of the "Delete" button): never: Do not scan target nor alter known_hosts file. Scan (DNSSEC): Scan host, if DNS name is secured with DNSSEC (alters known_hosts). Scan (insecure): Scan host (alters known_hosts). Scanning either way is insecure. If you leave unknown fingerprint handling to "never", arrange to store the needed finger- prints in your ~/.ssh/known_hosts by other means (not through SSHFS-Mountlet). You can use ssh in the Terminal to connect to your server and choose to accept the presented fingerprint, which adds it to your known_hosts file. If you installed an ssh-askpass application it might pop up to do the job. DNS verification (SSHFP records secured by DNSSEC) is the most secure way of knowing to whom SSHFS-Mountlet really connects. Ask your server administrator to publish an SSHFP DNS record protected by DNSSEC and use a DNSSEC enabled resolver (e.g. https://quad9.org/) in your network or set up on your Mac. Be aware that your sshfs binary may not be compiled to handle DNSSEC in which case do as if DNSSEC is not in place. Notes about SSH public key authentication: To set up SSH public key authentication, create an SSH key on your local machine: ssh-keygen -t ed25519 accept the default save location ~/.ssh/id_ed25519 and set a good passphrase when asked. When done, append your public SSH key, found in ~/.ssh/id_ed25519.pub, to the file ~/.ssh/authorized_keys on your server. To automatically load your ssh keys from your Mac's keychain into memory upon login, add the following lines to ~/.ssh/config: Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519 VerifyHostKeyDNS yes Then arrange to load your SSH keys upon login. Add the following two lines to ~/.profile # load ssh key from keychain ssh-add -A ...and save your passphrase to your Mac's login keychain: ssh-add --apple-use-keychain Give your passphrase when prompted. Log out and back in to your Mac to enjoy secure, passwordless SSH and SSHFS connections to your servers. SSHFS-Mountlet relies on SSH public key authentication for security and ease of use. Pass- word authentication works as well with SSHFS-Mountlet if your ssh-askpass supports it, but is discouraged due to being less secure. To use it nevertheless, remove the default setting "-o PasswordAuthentication=no" from the "additional options to sshfs / macfuse or fuse-t" section in the corresponding Connection Entry dialog. Usage: Click on the icon in the menu bar to open SSHFS-Mountlet's menu. Once you have defined SSHFS connections to remote hosts (see previous paragraph), their names get listed in the menu. Click on a disconnected connection entry to connect – or click on an established connection entry to disconnect it. To the left of each entry you find a circle icon, that shows the corresponding connection state: empty: disconnected yellow: connecting green: established red: disconnecting Clicking on an entry in the state of connecting or disconnecting will quit or even kill the under- laying process. If you loose network connectivity having an entry connected, restore your network connection: SSHFS might recover. Checks for updated versions of SSHFS-Mountlet happen once a week. You may disable update checks in ~/.sshfs-mountlets once this file has been created. Uninstallation: Quit SSHFS-Mountlet and drag the application to the trash. Delete SSHFS-Mountlet's file, where it saved your connection entries and their properties: rm ~/.sshfs-mountlets ...as well as the update check timestamp file: rm /var/tmp/sshfs-mountlet.update-check* SSHFS-Mountlet does not write to other locations. To uninstall macFUSE open the System Preferences of macOS, go to the macFUSE preference pane and click on "Remove macFUSE". To uninstall SSHFS and the preference pane itself, do the following: sudo rm /usr/local/bin/sshfs sudo rm /usr/local/share/man/man1/sshfs.1 sudo rm /Library/PreferencePanes/macFUSE.prefPane sudo pkgutil --forget io.macfuse.installer.components.sshfs ...or for older versions: sudo pkgutil --forget com.github.osxfuse.pkg.SSHFS ...if you have installed SSHFS from GitHub user tormodwill, the line above is: sudo pkgutil --forget com.TWILL.pkg.macSSHFS To uninstall FUSE-T, do: sudo "/Library/Application Support/fuse-t/uninstall.sh" To uninstall FUSE-T-SSHFS do: sudo rm /usr/local/bin/sshfs sudo rm /usr/local/share/man/man1/sshfs.1 sudo pkgutil --forget "$(pkgutil --pkgs | grep "^org\.sshfs\.")" To uninstall ssh-askpass-mac do: launchctl unload -w ~/Library/LaunchAgents/at.zronek.lukas.ssh-askpass.plist rm ~/Library/LaunchAgents/at.zronek.lukas.ssh-askpass.plist ...and drag the application to your trash. Troubleshooting: Using SSHFS with FUSE-T under macOS Sequoia currently needs the following option to be added to every connection: -o nonamedattr You won't be able to upload files through the Finder without. See issue #4 of FUSE-T-SSHFS: https://github.com/macos-fuse-t/sshfs/issues/4#issuecomment-2644744108 If you encounter the error "Operation not permitted" when using FUSE-T: If you cannot read the contents of any folder under the FUSE-T file system, it may be that access to "Network Volumes" is not enabled. See under System Settings -> Privacy & Security -> Files and Folders -> Network Volumes ...and ensure it is enabled. Download: https://ente.limmat.ch/ftp/pub/software/applications/SSHFS-Mountlet/ Source: Included in the distribution DMG file. Bugs: Oh no ... If you encounter a bug, you can report it to me. No promise what so ever. Feedback: Please use the web form under https://ente.limmat.ch/feedback/. Enjoy, Adrian. (c) 2020-2025 by Adrian Zaugg under GNU GPL v3 (https://www.gnu.org/licenses/gpl-3.0.html#license-text) All Artwork (c) under Creative Commons BY-NC-SA (https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode) Credits: * created with Platypus 5.4.1 by Sveinbjorn Thordarson (https://sveinbjorn.org/platypus/) * dialogs using Pashua 0.11 by Carsten Blüm (https://www.bluem.net/en/projects/pashua/) * icons from Michaela Keller (https://mi-ke.ch/)