📜  ssh-copy-id - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:21.696000             🧑  作者: Mango

ssh-copy-id 介绍

简介

ssh-copy-id 是一个在 Linux 和 macOS 系统上安装公钥到远程主机上的命令行工具。它的作用是自动化 SSH 公钥的复制,和免去手动进行 SSH 公钥管理的繁琐步骤。

使用方法

ssh-copy-id 命令语法如下:

ssh-copy-id [-f] [-i [identity_file]] [user@]hostname

其中 user 代表远程主机的用户名,hostname 代表远程主机的主机名或 IP 地址。如果没有指定用户名,则默认使用当前登录用户的用户名。

-i 选项可用于指定公钥文件的路径,如果没有指定,则默认使用 ~/.ssh/id_rsa.pub

-f 选项可以用于强制覆盖已经存在的远程主机上的公钥。

例子

以下示例演示如何使用 ssh-copy-id 命令从本地主机将公钥复制到远程主机上:

  1. 在本地主机上执行 ssh-keygen 命令生成公钥和私钥文件。
  2. 使用 ssh-copy-id 命令将公钥复制到远程主机上:
ssh-copy-id user@hostname

其中,userhostname 是远程主机的用户名和主机名,根据实际情况进行替换。 3. 执行 ssh 命令测试是否成功:

ssh user@hostname

如果成功,则表示公钥已经成功地被复制到远程主机上,并且可以免密码登录了。

注意事项
  • 在使用 ssh-copy-id 命令之前,必须先生成公钥和私钥文件。
  • 远程主机必须允许 SSH 登录,并且已经安装了 SSH 服务器软件。
  • 如果远程主机上已经存在相同的公钥,则必须使用 -f 选项来强制覆盖旧的公钥。
  • 对于 macOS 用户,由于 ssh-copy-id 命令默认不会被安装,可以通过 Homebrew 包管理器来安装 OpenSSH:
brew install openssh
参考链接