ssh nie używa kluczy przekazanych przez agenta

2

I ssh od localcelu X, i chciałbym z ssh Xdo Ykorzystania chronione hasłem kluczy RSA, ze wszystkie moje klucze prywatne przechowywane na local. Jednak,

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

Wynika to z faktu, że mam za dużo kluczy w agencie i nie dostaje się do odpowiedniego klucza, zanim serwer Yuzna, że ​​jestem złośliwy. Mogę to potwierdzić, usuwając wszystkie klucze z mojego ~/.sshoprócz tych, które są dla Xi Y, a następnie działa polecenie ssh. Nie mogę teraz określić poprawnego klucza, ssh Y -o IdentiyFile=pathponieważ właściwa ścieżka do klucza jest włączona local, a nie włączona X. Ponadto, jeśli podam -o IdentitiesOnly=yes, nigdy nie szuka kluczy dostarczonych przez agenta, szuka tylko kluczy w pliku X:~/.ssh. Jak mogę to obejść?

dbrane
źródło

Odpowiedzi:

2

Ok, znalazłem rozwiązanie. W systemie Xtworzę ~/.ssh/configsekcję, dla Yktórej jest coś takiego:

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

gdzie ~/.ssh/id_Y.pubjest kopią (wł. X) klucza publicznego dla lokalnego do Y. sshdmusi tylko wiedzieć, gdzie jest klucz publiczny, dowie się wszystkiego, czego potrzebuje od agenta.

dbrane
źródło
OMG, wszędzie szukałem tego rozwiązania!
winni2k