我有点困惑为什么这不起作用,并认为这可能与我使用错误的密钥有关,但我不确定该使用什么其他密钥。也许我错过了一个步骤?我们有一个“jumpbox”(我们将其称为server1),它允许我们进入某些供应商的服务器。 .ssh 中有一个配置文件,用于我们连接到的每个不同服务器。这里的每个人都将 ssh 密钥复制到不同的系统来获取访问权限,并且没有人使用最终服务器 (server2) 的密码。
我创建了一个配置文件,.ssh
它看起来像这样:
Host server2
Hostname IPADDRESS
ProxyCommand ssh -W %h:%p [email protected]
IdentityFile ~/.ssh/server2
User root
我从另一个用户系统复制了密钥,但担心我可能有错误的密钥或者我错过了一个步骤。当我尝试 ssh 到 server2 时,它会提示我输入 Jumpbox root PW,但之后它会提示我输入 server2 密码,并且不让我使用密钥进入。
我感觉我复制了错误的密钥,但我不知道如何复制。我从同事的系统中复制了 server2 的 2 个密钥。一件是正义的server2
,一件是server2.pub
。正如您在IdentityFile
it only 引用中看到的那样server2
。在提示输入 server2 的 PW 之前我收到的错误是:
sign_and_send_pubkey: signing failed: agent refused operation
我一直在尝试研究答案,但感觉我错过了一步或其他什么。这里没有其他人可以提供帮助,因为我就是做这件事的人:) 你们中的任何人都可以为我指出正确的方向吗?
答案1
Sign_and_send_pubkey:签名失败:代理拒绝操作
ssh-agent
这指出了您正在使用的情况。要将其从用例中排除,请尝试在没有它的情况下进行连接:
SSH_AUTH_SOCK="" ssh server2
如果它能工作,那就是问题ssh-agent
。这可能是问题,因为它是一些不同的工具谈论这个协议(gnome-keyring
),它不知道密钥类型(ed25519
)或许多不同的原因。
那是什么键类型?如果上述方法均无效,请向我们展示公钥以进行进一步调查。