macOS
brew install ssh-copy-idlocal Homebrew formula metadata
brew
Add a public key to a remote machine's authorized_keys file. Version 10.4p1 via Homebrew; verified 2026-07-06.
install
brew install ssh-copy-idlocal Homebrew formula metadata
nix profile install nixpkgs#ssh-copy-idnixpkgs package indexes · ssh-copy-id · source: raw.githubusercontent.com
winget install --id axeprpr.SSHCopyID -eWindows Package Manager source index · axeprpr.SSHCopyID · source: cdn.winget.microsoft.com
overview
Add a public key to a remote machine's authorized_keys file
history
ssh-copy-id is the small OpenSSH-adjacent shell utility that installs a user's public SSH key into a remote account's authorized_keys file.
OpenSSH itself began in 1999 when OpenBSD developers forked the free SSH 1.2.12/OSSH lineage, cleaned up licensing and portability issues, and shipped OpenSSH 1.2.2 with OpenBSD 2.6 on December 1, 1999. The portable OpenSSH tree was split out almost immediately for Linux and other Unix systems.
The ssh-copy-id script in the OpenSSH portable repository carries Philip Hands copyright from 1999 onward and describes itself as a shell script to install public keys on a remote machine. Over time it gained contributions for options such as force mode, dry-run mode, SFTP mode, alternate target paths, SSH config files, and port handling.
ssh-copy-id became common Unix CLI glue because it automates the manual public-key setup described by ssh documentation: place a public key in the remote user's authorized_keys file. Homebrew packages it separately from the main OpenSSH formula for macOS users, while the input facts also list Nix and winget package names.
The usual workflow is to run ssh-copy-id [-i identity_file] [user@]host. The script selects public keys from ssh-agent or from ${HOME}/.ssh/id*.pub, checks which keys are not already accepted, and appends the selected public keys to the remote .ssh/authorized_keys path unless a different target path is requested.
ssh-copy-id is package-manager folklore: a tiny shell script that saves users from remembering the exact ssh, mkdir, chmod, and cat incantation for public-key login setup. It is also a reminder that small contrib utilities can become first-class packages when operating systems omit them or users want them independently.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Credential-bearing paths to review before unattended agent runs.
${HOME}/.ssh/id*.pub${HOME}/.ssh/id*.ssh/authorized_keysexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
ssh-copy-id | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:ssh-copy-id |
|---|---|
| Version | 10.4p1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/ssh-copy-id |
| Homepage | https://www.openssh.com/ |
| Repository | https://github.com/openssh/openssh-portable |
| Upstream docs | https://github.com/openssh/openssh-portable#readme |
| License | SSH-OpenSSH |
| Source archive | https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.4p1.tar.gz |
| Last updated | 2026-07-06T18:10:51Z |
| Pulse | updated |
| Bottle | available (on all) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | ssh-copy-id |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | yes |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
ssh-copy-id
nix profile install nixpkgs#ssh-copy-idaxeprpr.SSHCopyID
winget install --id axeprpr.SSHCopyID -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.