用SSH密钥配置一个新的数字海洋液滴。当我运行ssh-copy-id时,这是我得到的:

ssh-copy-id user@012.345.67.89
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sign_and_send_pubkey: signing failed: agent refused operation
user@012.345.67.89's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'user@012.345.67.89'"
and check to make sure that only the key(s) you wanted were added.

然而,当我尝试ssh时,会发生这种情况:

ssh user@012.345.67.89
sign_and_send_pubkey: signing failed: agent refused operation
user@012.345.67.89's password: 

输入密码后,我可以正常登录,但这当然违背了创建SSH密钥的初衷。我决定看看ssh-agent服务器端,下面是我得到的:

user@012.345.67.89:~# eval `ssh-agent -s`
Agent pid 5715
user@012.345.67.89:~# ssh-add -l
The agent has no identities.

用户/。Ssh /authorized_keys也包含Ssh -rsa密钥条目,但是find name "keynamehere"没有返回任何内容。


当前回答

在客户端机器上运行SSH -add,将SSH密钥添加到代理。

使用ssh-add -l(同样在客户端上)确认确实添加了它。

其他回答

我曾经遇到过和你一样的问题,我通过以下步骤解决了它。

Chmod 700 ~/.ssh Chmod 600 ~/.ssh/* ssh-copy-id user@ip ssh-agent - s ssh-add

对于那些最近升级到“现代”ssh版本[OpenSSH_8.1p1, OpenSSL 1.1.1d FIPS 2019年9月10日]-与fedora 31一起提供,似乎不再接受旧的DSA SHA256密钥(我的日期是2006年!)-创建了一个新的rsa密钥,公共添加到授权,客户端私有,一切都完美地工作。

感谢之前的建议,特别是SSH -v非常有用

第一个 ssh-add 然后 ssh user@ip

这对我很有效

Eval "$(ssh-agent -s)" 首先启动ssh代理

ssh-add ,然后添加ssh密钥

在客户端机器上运行SSH -add,将SSH密钥添加到代理。

使用ssh-add -l(同样在客户端上)确认确实添加了它。