ssh 不使用代理转发密钥

ssh 不使用代理转发密钥

我从 sshlocalX,我想使用受密码保护的 RSA 密钥从 sshXY,我的所有私钥都存储在 上local。但是,

local> ssh -A X
X> ssh Y
Received disconnect: 2: Too many authentication failures

这是因为我在代理中拥有太多密钥,在服务器Y认为我是恶意的之前它无法找到正确的密钥。我可以通过从我的中删除所有密钥(~/.ssh除了用于X和的密钥)来确认这一点Y,然后 ssh 命令就可以正常工作了。现在我无法指定要使用的正确密钥,ssh Y -o IdentiyFile=path因为密钥的正确路径是 on local,而不是 on X。此外,如果我指定-o IdentitiesOnly=yes,它永远不会查找代理提供的密钥,它只会查找 中的密钥X:~/.ssh。我该如何解决这个问题?

答案1

好的,我找到了解决方案。在系统上X,我创建了一个~/.ssh/config部分,Y内容如下:

Host Y
    ...
    IdentityFile ~/.ssh/id_Y.pub
    ...

其中是本地 的公钥~/.ssh/id_Y.pub副本(在 上) 。只需要知道公钥在哪里,它会从代理那里找到它所需的一切。XYsshd

相关内容