ssh-copy-id 使用详情和注意点

7 min read

ssh-copy-id 是一个命令行工具,用于将本地主机的公钥复制到远程主机的 authorized_keys 文件中。使用 ssh-copy-id 可以使得用户在不需要输入密码的情况下,通过 SSH 连接到远程主机。以下是 ssh-copy-id 的使用详情和注意点:

使用详情:

  1. 在本地主机上生成 SSH 公钥和私钥。

  2. 在远程主机上开启 SSH 服务,并且确保在远程主机上存在一个存放公钥的文件(通常为 .ssh/authorized_keys)。

  3. 在本地主机上执行 ssh-copy-id 命令,将公钥复制到远程主机上。

    ssh-copy-id user@remote_host
    
  4. 输入远程主机的密码,以授权复制公钥。

  5. 完成后测试 SSH 连接是否正常。

注意点:

  1. 要使用 ssh-copy-id,必须在本地主机上已经生成了 SSH 公钥和私钥。使用 ssh-keygen 命令可以生成一对 SSH 公钥和私钥。

    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    
  2. 远程主机上必须开启 SSH 服务,并且已经安装了 SSH 客户端。

  3. 远程主机上必须存在一个存放公钥的文件(通常为 .ssh/authorized_keys)。如果这个文件不存在,可以在远程主机上创建这个文件,然后将公钥信息复制到这个文件中。

  4. 当一个远程主机有多个用户需要使用 SSH 连接时,每个用户都需要执行 ssh-copy-id 命令并复制自己的公钥到远程主机上。

  5. 如果远程主机已经有了一些公钥,需要注意不要覆盖已有的公钥。最好是将新的公钥添加到已有公钥的下一行。