ssh-copy-id

将公钥安装到远程账号的 authorized_keys 中。

执行前须知

需要已有的登录方式(通常为账号密码)、可写的远程主目录及兼容的 shell。部分 macOS/Windows 安装不包含此工具,请先确认可用性。只复制 .pub 公钥。此操作只添加授权公钥,不会自动关闭密码登录,也不会配置 OTP。

使用示例

通过默认 SSH 端口安装指定公钥。

ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@server.example.com

通过 2222 端口安装公钥,随后用 ssh -p 2222 验证登录。

ssh-copy-id -p 2222 -i ~/.ssh/id_ed25519.pub alice@server.example.com

参数与示例

-i identity_file常用

选择要安装在服务器上的公钥。不要复制私钥。

示例
ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@server.example.com
-p port常用

通过指定的 SSH 端口连接到服务器。

示例
ssh-copy-id -p 2222 -i ~/.ssh/id_ed25519.pub alice@server.example.com
-n

预览将安装的密钥,不实际安装;是否支持取决于版本。

示例
ssh-copy-id -n -i ~/.ssh/id_ed25519.pub alice@server.example.com
-f

强制安装而不检查密钥是否已经存在;可能会导致重复。

示例
ssh-copy-id -f -i ~/.ssh/id_ed25519.pub alice@server.example.com
-o option

将 SSH 客户端配置选项传递给连接。

示例
ssh-copy-id -o ConnectTimeout=10 -i ~/.ssh/id_ed25519.pub alice@server.example.com
-F configfile

使用备用 SSH 客户端配置文件。

示例
ssh-copy-id -F ~/.ssh/lab_config alice@server.example.com

权威参考

核对日期:2026 年 10 月 27 日