要使用 ssh-id-copy 是否需要 id_rsa.pub 和 id_rsa?

26 linux ssh centos ssh-keys

我正在尝试为朋友设置第二个访问 ssh 密钥。他给我发了他的 id_rsa.pub。

ssh-copy-id -i id_rsa.pub root@123.123.123.123
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory
Run Code Online (Sandbox Code Playgroud)

我需要他把两个文件都发给我吗?

Dar*_*idl 18

ssh-copy-id如果没有可用的同名私钥文件,则来自 OpenSSH的命令将失败,因为它尝试使用指定的密钥登录以检查它是否已存在于远程服务器上。

在最近的版本中,您可以使用-f开关(“强制模式”)覆盖此行为。

手册页

-f

    强制模式:不检查远程服务器上是否存在密钥。这意味着它不需要私钥。当然,这可能会导致在远程系统上安装多个密钥副本。

  • 注意,参数的顺序是严格的。`-f` 仅在您_before_ 传递 `-i` 参数时才能按预期工作。`ssh-copy-id -i mykey.pub -f otheruser@host` 只是抱怨,直到你将 -f 移到前面。 (6认同)

小智 5

.pub是足够了。您不在正确的文件夹中。

你可以试试这个:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123
Run Code Online (Sandbox Code Playgroud)

(对于 root 用户:不推荐,这只是一个例子)。

该文件位于.ssh用户文件夹的文件夹下。

  • 在 mac 上,如果你也没有私钥,它需要`-f`,我想 (5认同)