Как заставить ssh использовать определенный закрытый ключ?

40

С ssh -i <private key filename>его помощью вы можете указать ssh использовать дополнительный закрытый ключ для проверки подлинности.

В документации не ясно, как явно использовать только этот ключ.

Герман ван Ринк
источник

Ответы:

57

Вы можете использовать опцию IdentitiesOnly:

ssh -o "IdentitiesOnly=yes" -i <private key filename> <hostname>

Герман ван Ринк
источник
12
фактически «IdentitiesOnly» отключает запрос ssh-agent, но по-прежнему предлагает значения по умолчанию и ключи ssh_config'd.
Роджерово
2
Для меня было важно то, что он не ищет, например, в моем каталоге ~ / .ssh ключи, которые можно попробовать.
Херман ван Ринк
Благодарность! Мне нужно было -o "IdentitiesOnly=yes"немного, чтобы предотвратить ssh-agentпереопределение указанного закрытого ключа.
user2708667
Это очень удобно для определения того, какой ключ работает с данным хостом, когда у вас есть ключи, кэшированные в ssh-agent. Единственный способ понять это без этого флага - использовать strace для сброса ввода-вывода, что было довольно утомительно.
Уил