Когда я подключаюсь к серверу по ssh, я могу использовать несколько опций, чтобы указать, какой ключ использовать, например:
ssh -o identityfile=~/.ssh/cool -o identitiesonly=yes serverA
Это предотвращает слишком много попыток, которые могут закончиться отказом в доступе к серверу. но если я подключаюсь по ssh к одному серверу с установленным forwardagent. а затем пытаюсь подключиться по ssh к другому серверу оттуда, ему придется использовать ssh-agent, который пробует все имеющиеся у него ключи, пока не найдет нужный или не будет отклонен из-за того, что попробовал слишком много ключей. Могу ли я сделать так, чтобы ssh-agent использовал определенный ключ в ssh-agent?
решение1
Есть решение: https://superuser.com/a/273094/1760623
Вы можете использовать открытую часть ключа, чтобы указать, какой закрытый ключ вы хотите использовать от перенаправленного агента.
решение2
Это невозможно в OpenSSH. Вам не следует хранить слишком много ключей в вашем агенте (зачем кому-то может понадобиться больше одного ключа? Единственная законная причина — когда вам кто-то дал ключ и вы не можете его изменить), особенно в агенте, который вы хотите пересылать на удаленные хосты.
Агент предлагает ключи в том порядке, в котором они были добавлены, поэтому вы можете обойти эту проблему, добавив сначала пересланные ключи, но это единственное, что вы можете сделать.