ssh-clipboard
Native encrypted clipboard sync over SSH for macOS and Linux
What is it?
What it is
ssh-clipboard is a command-line tool that synchronizes the system clipboard across machines over persistent, peer-to-peer SSH connections. Written in Rust and distributed via npm, it supports text, images, files, and rich content between macOS and Linux (including Wayland, X11, and headless setups via Xvfb) without any relay servers, accounts, or custom encryption.
Why it exists
Existing clipboard-sharing solutions typically require cloud services, dedicated relay servers, new encryption keys, or identity changes on the host machine. ssh-clipboard exists to let developers and power users share a clipboard across their own machines using the SSH they already trust — preserving native clipboard formats, running invisibly alongside clipboard managers, and avoiding any third-party infrastructure.
Who should use it
Developers and sysadmins who frequently work across multiple macOS or Linux machines over SSH and need to share clipboard contents (text, images, files, rich content) seamlessly between them without using cloud services or third-party relays.
Who should avoid it
Users who only work on a single machine, those uncomfortable with installing a global npm package and SSH key configuration, Windows users (not supported), or anyone who does not need cross-machine clipboard synchronization and prefers simpler clipboard manager tools.
Stars over time
+3 stars in the last 2 days
How it works
A quick walkthrough in plain English
How ssh-clipboard works
Step 1 of 3
You interact with it
Open ssh-clipboard, send a request, or connect it to your stack.
Features
Advantages
- No cloud or relay server required - direct SSH connections
- No new account or registration needed
- No additional encryption keys to manage
- Maintains existing machine identity and peer configuration
- Preserves native clipboard formats including Finder file paste on macOS
- Fast transfers using raw bytes and persistent connections
- Works with existing clipboard managers like Raycast
- Independent update checking - any online machine can trigger convergence
- Retains previous executable after updates for rollback capability
- No port forwarding or firewall configuration required beyond SSH
- Cross-platform support with single npm installation
Disadvantages
- Requires passwordless SSH setup which can be complex for some users
- Machines must be directly reachable via SSH - no NAT traversal assistance
- Headless Linux servers need Xvfb virtual display configuration
- Relies on npm registry for updates - affected by npm outages or package issues
- Only supports clipboard content (text, images, files) - not other data types
- Per-user service model means each user must install and configure independently
- Tailscale integration helpful but not required - SSH setup can be tedious without it
- No central coordination for updates - relies on gossip protocol which may have delays
Installation
native
npm i -g ssh-clipboard\nssh-clipboard
FAQ
How do I install ssh-clipboard?
Run `npm i -g ssh-clipboard` and then `ssh-clipboard`. The first-run TUI will guide you through connecting to peers.
How do I add a new peer machine?
Use `ssh-clipboard setup` to add or repair peers. It can discover compatible machines via Tailscale or accept any passwordless SSH connection.
What platforms and architectures are supported?
ssh-clipboard supports macOS and Linux on both arm64 and x64. It uses native pasteboard on macOS and Wayland/X11 on Linux.
How does ssh-clipboard protect my clipboard data?
All data is sent over persistent peer-to-peer SSH connections. There is no cloud, relay, account, or additional encryption key required.
How can I monitor the status of my nodes?
Run `ssh-clipboard monitor` for a live dashboard, or `ssh-clipboard status --json` for machine-readable health information.
Featured in Videos
YouTube tutorials and walkthroughs for ssh-clipboard
Alternatives
Similar projects ranked by category, topics, and text overlap.