在轉發代理 ssh 呼叫中使用特定密鑰?

在轉發代理 ssh 呼叫中使用特定密鑰?

當我 ssh 到伺服器時,我可以使用一些選項來指定使用哪個金鑰,例如:

ssh -o identityfile=~/.ssh/cool -o identitiesonly=yes serverA

這可以防止嘗試過多,最終可能會拒絕對伺服器的一次存取。但如果我 ssh 到一台設定了轉發代理的伺服器。然後嘗試從那裡 ssh 到另一台伺服器,它必須使用 ssh-agent,它會嘗試它擁有的所有金鑰,直到找到正確的金鑰或因嘗試太多金鑰而被拒絕。我可以讓 ssh-agent 使用 ssh-agent 中的特定金鑰嗎?

答案1

有一個解決方案: https://superuser.com/a/273094/1760623

您可以使用金鑰的公鑰部分來指定要使用轉送代理程式的私鑰。

答案2

在 OpenSSH 中這是不可能的。您不應該在代理中存儲太多密鑰(為什麼有人需要超過1 個密鑰?唯一合理的原因是當其他人給您密鑰並且您無法更改它時),尤其是在您希望轉發到遠端的代理中主機。

代理程式會按照新增順序提供金鑰,因此您可以透過先新增轉送的金鑰來解決此問題,但這是您唯一可以做的事情。

相關內容