ssh-clipboard logo

ssh-clipboard

Native encrypted clipboard sync over SSH for macOS and Linux

RustDeveloper ToolsRustMIT 156 8
npm
GitHub

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

156153
Aug 30, 2026Sep 1, 2026

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

Native clipboard support for macOS pasteboard and Linux Wayland/X11
Encrypted peer-to-peer SSH connections between machines
Supports text, images, files, and rich content in native formats
Per-user background service that runs silently
Tailscale integration for discovering compatible online machines
Accepts any passwordless SSH connection
Automatic installation and upgrades when needed
Virtual display (Xvfb) support for headless Linux servers
Live monitoring dashboard with 'ssh-clipboard monitor'
JSON-formatted status output for automation
Distributed update coordination via peer gossip protocol
SHA-512/npm integrity verification for updates
Cross-platform: macOS and Linux, arm64 and x64 architectures
Atomic executable replacement with service restart
Deduplication and newest-value queues for efficiency

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.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for ssh-clipboard

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare