Скажімо, у мене є ключ від Github разом з іншими ключами. Я додав багато ключів до мого агента ssh ( ssh-add -L
повертає безліч рядків) на своєму домашньому комп’ютері А. У своєму моєму режимі .ssh/config
я встановив, який ключ використовувати з яким хостом, наприклад,
ssh -T -vvv git@github.com 2>&1 | grep Offering
дає
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Пропонується лише один ключ, як очікувалося. Але потім ssh-ing до якогось хоста B з ForwardAgent yes
і повторення тієї ж команди, я отримую
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Це означає, що він намагається переконати всі мої ключі. Це проблематично, оскільки перед поверненням серверів можна спробувати лише обмежену кількість клавіш Too many authentication failures
. Тому я спробував редагувати .ssh/config
на хості B, щоб включити
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
але тоді я не отримую ключових пропозицій, скоріше
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
що я здогадуюсь означає, що ключ не знайдено (?) І зрештою, ключ знаходиться на моєму домашньому комп’ютері A, а не на хості B, тож питання полягає в тому, як звернутися до нього на хості B? Сподіваюся, мені вдалося пояснити питання.