This guide documents how to mount a remote server's directory as a network drive on macOS using SSHFS.
- macOS (tested on macOS Sequoia)
- SSH access to remote server configured in
~/.ssh/config - Homebrew installed
macFUSE is required for mounting remote filesystems on macOS:
brew install --cask macfuseImportant: After installation, you must approve the kernel extension:
- Go to System Settings → Privacy & Security
- Look for a message about system software from "Benjamin Fleischer"
- Click "Allow" to approve the macFUSE extension
- Restart your Mac if prompted
FUSE-T is a userspace FUSE implementation that can work alongside macFUSE:
brew install fuse-tbrew install gromgit/fuse/sshfs-macNote: This formula is deprecated but still functional.
mkdir -p ~/mounts/dokployEnsure your ~/.ssh/config has the server configured:
Host dokploy
HostName 5.78.100.199
User stephan
IdentitiesOnly yes
IdentityFile ~/.ssh/id_ed25519To manually mount the remote directory:
sshfs dokploy:/home/stephan/ ~/mounts/dokploy -o volname=Dokploy,reconnect,ServerAliveInterval=15,defer_permissionsvolname=Dokploy- Sets the volume name shown in Finderreconnect- Automatically reconnect if connection dropsServerAliveInterval=15- Keep connection alive with 15s pingsdefer_permissions- Improves compatibility with macOS permissions
umount ~/mounts/dokployOr force unmount if needed:
sudo umount -f ~/mounts/dokployTo automatically mount the drive on login, create a Launch Agent:
cat > ~/Library/LaunchAgents/com.user.sshfs.dokploy.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.sshfs.dokploy</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/sshfs</string>
<string>dokploy:/home/stephan/</string>
<string>/Users/stephanfitzpatrick/mounts/dokploy</string>
<string>-o</string>
<string>volname=Dokploy,reconnect,ServerAliveInterval=15,defer_permissions</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>StandardErrorPath</key>
<string>/tmp/sshfs-dokploy.err</string>
<key>StandardOutPath</key>
<string>/tmp/sshfs-dokploy.out</string>
</dict>
</plist>
EOFNote: Update the username path (/Users/stephanfitzpatrick/) to match your username.
launchctl load ~/Library/LaunchAgents/com.user.sshfs.dokploy.plistlaunchctl list | grep dokploylaunchctl unload ~/Library/LaunchAgents/com.user.sshfs.dokploy.plistlaunchctl load ~/Library/LaunchAgents/com.user.sshfs.dokploy.plistmount | grep dokploycat /tmp/sshfs-dokploy.err
cat /tmp/sshfs-dokploy.outSSHFS can be slow for operations involving many small files because:
- Each file requires a separate round-trip to the server
- SSH encryption adds overhead
- Network latency is multiplied by the number of files
For better performance with many small files:
- Use
rsyncorscpfor bulk transfers - Work with files directly on the server via SSH
- Consider using
rclonewith full cache mode (though it had Finder compatibility issues in our testing)
sudo umount -f ~/mounts/dokploy
rmdir ~/mounts/dokploy
mkdir ~/mounts/dokploy
# Try mounting againIf you don't see the approval prompt:
- Try rebooting after installation
- Check System Settings → General → Login Items & Extensions
- The prompt should appear when you first try to mount
- Check your network connection
- Verify SSH connection works:
ssh dokploy - Check server load:
ssh dokploy 'uptime'
We also tested rclone as an alternative, but it had Finder compatibility issues (error -8062 when copying files). SSHFS proved more reliable for macOS Finder operations.
If you want to try rclone anyway:
# Install official rclone binary (Homebrew version doesn't support mount)
cd /tmp
curl -O https://downloads.rclone.org/rclone-current-osx-arm64.zip
unzip rclone-current-osx-arm64.zip
cd rclone-*-osx-arm64
sudo cp rclone /usr/local/bin/
sudo chmod 755 /usr/local/bin/rclone
# Configure
mkdir -p ~/.config/rclone
cat > ~/.config/rclone/rclone.conf << 'EOF'
[dokploy]
type = sftp
host = 5.78.100.199
user = stephan
port = 22
key_file = ~/.ssh/id_ed25519
shell_type = unix
EOF
# Mount
/usr/local/bin/rclone mount dokploy:/home/stephan/ ~/mounts/dokploy --vfs-cache-mode full --daemonYour dokploy server's /home/stephan/ directory is now:
- ✅ Mounted at
~/mounts/dokploy - ✅ Auto-mounts on login
- ✅ Fully bi-directional (changes sync both ways)
- ✅ Deletes propagate between local and remote
- ✅ Accessible in Finder as "Dokploy" volume
Created: 2025-11-01 System: macOS Sequoia, Apple Silicon