要使用ssh-id-copy,你需要id_rsa.pub和id_rsa吗?


17

我正在尝试为朋友设置第二个访问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

我需要他给我发两份文件吗?


1
.pub就足够了。请记住,您始终保持私钥的分泌(始终!)。要添加新密钥,您可以简单地将.pub的内容附加到authorized_keys。
deagh

2
@deagh你不需要保密私钥,你需要保密。
Iain

ssh-copy-id脚本 这里 似乎没有发出该特定错误消息。我注意到你的ssh-copy-id脚本在/ usr / local / bin中。它可能与常用的命令版本不同。
Kenster

Answers:


8

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

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

手册页

-f

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

5

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

你可以试试这个:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123

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

这个文件在 .ssh 用户文件夹上的文件夹。


2
在Mac上它需要 -f 如果您还没有私钥,我想
Stevie G


1

这里提到的 这是一个错误。

无论如何,您只需创建一个空文件即可使其正常工作。在你的情况下:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub root@123.123.123.123

我有同样的问题,这对我有用


-1

它适用于我的问题是当它询问“输入文件以保存密钥(/Users/xiaoyu/.ssh/id_rsa)时:”你应该输入id_rsa

并使用commande“ssh-copy-id -i~ / .ssh / id_rsa.pub polytech@192.168.0.102”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.