Automic VaultAutomic Vault

brew

Install ssh-copy-id with Homebrew, Nix, winget

Add a public key to a remote machine's authorized_keys file. Version 10.4p1 via Homebrew; verified 2026-07-06.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ssh-copy-id

local Homebrew formula metadata

Windows

Windows Package Managerverified · 92%
winget install --id axeprpr.SSHCopyID -e

Windows Package Manager source index · axeprpr.SSHCopyID · source: cdn.winget.microsoft.com

overview

Package summary

Add a public key to a remote machine's authorized_keys file

Commands and aliases

  • ssh-copy-id

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 1999: OpenSSH project began and OpenSSH 1.2.2 shipped with OpenBSD 2.6.
  • 1999: ssh-copy-id copyright begins with Philip Hands in the portable script.
  • 2014: openssh/openssh-portable mirror repository created on GitHub.
  • 2026: Homebrew formula tracks OpenSSH portable 10.3p1 for ssh-copy-id.

Related projects

  • Related commands and files include ssh, ssh-keygen, ssh-agent, ssh-add, sshd, OpenSSH portable, ${HOME}/.ssh/id*.pub, and .ssh/authorized_keys.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:ssh

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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 files

Credential-bearing paths to review before unattended agent runs.

Unix
${HOME}/.ssh/id*.pub${HOME}/.ssh/id*.ssh/authorized_keys

executables

Installed executables

CommandKindExposureNote
ssh-copy-idcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version10.4p1
manager updated2026-07-06
local dataok
upstreamnot checked
latest detectednot detected

https://www.openssh.com/

install metadata

Package metadata

Package keybrew:ssh-copy-id
Version10.4p1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ssh-copy-id
Homepagehttps://www.openssh.com/
Repositoryhttps://github.com/openssh/openssh-portable
Upstream docshttps://github.com/openssh/openssh-portable#readme
LicenseSSH-OpenSSH
Source archivehttps://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.4p1.tar.gz
Last updated2026-07-06T18:10:51Z
Pulseupdated
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namessh-copy-id
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyyes
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

ssh-copy-id

nix profile install nixpkgs#ssh-copy-id
  • normalized package name match
  • Matched by: Ssh Copy ID
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: ssh-copy-id from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
winget95%

axeprpr.SSHCopyID

winget install --id axeprpr.SSHCopyID -e
  • normalized package name match
  • Matched by: Ssh Copy ID
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: axeprpr.SSHCopyID from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment