ssh-copy-id没有身份发现错误

我有几个客户端系统,我需要推动SSH密钥和login从我的服务器没有身份validation提示。

首先,在服务器上,我创build了如下的ssh密钥,这是成功的

]# ssh-keygen -t rsa -N "" -f my.key 

其次,尝试复制pub key但失败,没有身份错误。 我在这里做错了什么?

 ]# ssh-copy-id my.key.pub 10.10.1.1 /usr/bin/ssh-copy-id: ERROR: No identities found 

你需要使用-i标志:

 ssh-copy-id -i my.key.pub 10.10.1.1 

从手册页 :

如果给出了-i选项,则使用身份文件(默认为〜/ .ssh / id_rsa.pub),而不pipe您的ssh-agent中是否有任何密钥。 否则,如果这样:ssh-add -L提供任何输出,它将优先于身份文件使用它

运行以下命令

 # ssh-add 

如果出现以下错误:无法打开与身份validation代理的连接

要删除此错误,请运行以下命令:

 # eval `ssh-agent` 

在客户端上生成ssh密钥解决了我的问题

 $ ssh-keygen -t rsa 

ssh-copy-id无法find系统中由ssh-keygen生成的id_rsa.pub文件,请使用以下命令完成:

  1. find.pub文件的path: locate *.pub
  2. 复制path(例如:/home/user_name/.ssh/id_rsa.pub)并运行以下命令: ssh-copy-id -i /home/user_name/.ssh/id_rsa.pub hostname

您需要使用-i选项来指定密钥。

 ssh-copy-id -i your_public_key user@host 

谢谢。

旧的post,但我今天提出这个问题,结束了谷歌search,发现自己在这里。 我已经想出了自己的想法,但认为我会分享我的问题和解决scheme在我的情况下,以帮助谁可能有同样的问题的任何人。

问题:[root @ centos [username]]#ssh-keygen -t rsainput要保存密钥的文件(/root/.ssh/id_rsa):I HAD JUST HIT ENTER / usr / bin / ssh-copy-id :错误:没有发现身份

解决scheme:input要保存密钥的文件(/root/.ssh/id_rsa):/ home / [username] / id_rsa

确定你是否以root身份执行这个操作,你正在处理你想login的用户目录的密钥。 不是根用户目录。

执行此操作时,我正在进入机器,所以我猜ssh-copy-id只是指向你默认login的目录。

希望这有助于任何人。

最简单的方法是:

 ssh-keygen [enter] [enter] [enter] cd ~/.ssh ssh-copy-id -i id_rsa.pub USERNAME@SERVERTARGET 

ATT:

它非常非常简单。

在“ss-keygen”手册中解释:

ssh-keygen可以创buildSSH协议版本1使用的RSA密钥,以及供SSH协议版本2使用的DSA,ECDSA或RSA密钥。ssh-keygen可以为ssh(1)生成,pipe理和转换authentication密钥。使用-t选项指定要生成的密钥, 如果没有任何参数调用,ssh-keygen会生成一个RSA密钥,用于SSH协议2连接。

在我的情况下,这是一个密钥丢失的.pub扩展名。 我从剪贴板上粘贴,并保存为mykey 。 下面的命令返回描述错误:

 ssh-copy-id -i mykey localhost 

mv mykey mykey.pub重命名后,工作正常。

 ssh-copy-id -i mykey.pub localhost