Możliwych jest wiele kluczy prywatnych SSH?

11

Czy możliwe jest posiadanie wielu kluczy SSH w jednym kliencie i pozwolić ssh automatycznie wybrać odpowiedni klucz?

stokrotka
źródło

Odpowiedzi:

16

Możesz mieć różne klucze prywatne w różnych plikach i określić je wszystkie, ~/.ssh/configużywając osobnych IdentityFilewartości (lub -iopcji podczas działania ssh). Zostałyby one wypróbowane po kolei (kasa man 5 ssh_config).

Jeśli jednak używasz ssh-agent, być może będziesz musiał poinformować agenta o wielu używanych kluczach ssh-add.

Indygowiec
źródło
Zauważ, że jeśli jedno konto ma wiele prawidłowych kluczy (np. Ponieważ używasz authorized_keysdo uruchamiania określonych poleceń zamiast powłoki), być może będziesz musiał użyć tej IdentitiesOnly yesopcji, aby upewnić się, ssh-agentże nie używa niewłaściwego. Zobacz także unix.stackexchange.com/q/52092/863
Tobias Kienzler,
10

Tak:

-i identity_file

Wybiera plik, z którego odczytywana jest tożsamość (klucz prywatny) do uwierzytelnienia za pomocą klucza publicznego. Domyślną wartością jest ~/.ssh/identitydla protokołu w wersji 1, a ~/.ssh/id_dsa, ~/.ssh/id_ecdsaa ~/.ssh/id_rsadla wersji protokołu 2. Pliki tożsamości może być również określona na zasadzie per-host w pliku konfiguracyjnym. Możliwe jest posiadanie wielu -iopcji (i wielu tożsamości określonych w plikach konfiguracyjnych). ssh spróbuje również załadować informacje o certyfikacie z nazwy pliku uzyskanej przez dołączenie -cert.pubdo nazw plików tożsamości.

Po prostu dodaj -idla każdej tożsamości lub użyj kilku IdentityFilelinii w sobie .ssh/config.

Stéphane Gimenez
źródło