A minimal, modern SSH companion app for macOS — file browsing, folder sync,
and port forwarding for the hosts already in your ~/.ssh/config,
living quietly in your menu bar.
Grab the latest .dmg from Releases, open it, and drag ssher into Applications.
The build is unsigned (no Apple Developer certificate yet), so macOS Gatekeeper will block the first launch. To open it:
xattr -cr /Applications/ssher.appor right-click the app in Finder → Open → Open again on the warning dialog.
Requires Apple Silicon (M-series) macOS. Intel isn't built yet — see Build to compile locally.
- File system view — browse remote directories over SFTP
- File download — pull individual files to your machine
- Folder sync — two-way rsync-over-ssh between a local folder and a remote path
- Port forwarding — start/stop local (
-L) and remote (-R) forwards - SSH config aliases — reads
~/.ssh/configHostentries automatically, uses your ssh-agent or identity file for auth - Add New SSH Host — add a new alias (VS Code Remote-SSH style) straight from the sidebar; it's appended to
~/.ssh/config - Permission guidance — if the SSH agent has no usable key for a host, ssher tells you exactly what to run and lets you retry
- Background app — runs from the menu bar tray, no Dock icon; closing the window hides it instead of quitting; open the full window or quit from the in-app menu or tray
- Tauri 2 (Rust backend)
- React + TypeScript (Vite) frontend
ssh2crate for SFTP, systemrsync/sshbinaries for sync and forwarding
npm install
npm run tauri devnpm run tauri buildProduces a .app bundle and .dmg under src-tauri/target/release/bundle/.
- Authentication tries your running
ssh-agentfirst, then falls back to theIdentityFileconfigured for the host alias (defaults to~/.ssh/id_ed25519). - Port forwarding and sync shell out to your system's
ssh/rsyncbinaries, so anyProxyCommand/ProxyJump/agent-forwarding setup in your SSH config is respected automatically. - If ssher reports a permission/auth error, it will show the exact
ssh-addcommand to run to grant it access via your agent.
MIT