Czy mogę mieć wiele kluczy ssh w moim folderze .ssh?

19

Czy mogę utworzyć wiele kluczy ssh i zmienić ich nazwy na przyjazne dla użytkownika, aby wiedzieć, który klucz jest przeznaczony dla danej witryny itp.

Czy to bezpieczne?

na przykład:

github_id_rsa
github_id_rsa.pub
..
...

Skąd będzie wiedział, z którym kluczem sprawdzić, kiedy się łączy?

Teraz na moim komputerze, gdy patrzę na znane_hosty, wszystkie mają ten sam klucz po nazwie hosta?

user27449
źródło
Również znane klucze hosta zdecydowanie nie są takie same, wystarczy spojrzeć na końce linii dla każdego hosta.
slhck

Odpowiedzi:

12

Tak, możesz mieć różne klucze ssh. Na stronie pomocy GitHub jest bardzo dobra dokumentacja Help.GitHub - Wiele kluczy SSH . Zasadniczo użyjesz ssh-add, aby dodać dodatkowe klucze, aby agent mógł je wykorzystać. Następnie ustawiasz konfigurację hostów ssh, tak aby wszystkie połączenia ssh z różnymi domenami były sprawdzane tutaj i użyty zostanie odpowiedni klucz. powodzenia!

ArtemT
źródło
1
Link już nie działa
danwellman
27

Możesz zmodyfikować plik ~ / .ssh / config, aby użyć innego pliku tożsamości dla różnych serwerów. Edytuj ~ / .ssh / config w swoim ulubionym edytorze i dodaj wpis, który jest odpowiedni dla twojej sytuacji:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

Pierwsza część powyżej ustawia wartości domyślne dla wszystkich hostów, a pozostałe sekcje zastępują to, co powinno być używane dla każdego hosta pasującego do wzorców. Jeśli masz inną nazwę użytkownika dla każdego hosta, możesz dodać Użytkownik klucz, a po nim nazwa użytkownika na pilocie do sekcji.

joehep
źródło
2
Jest to najbardziej przydatna odpowiedź na to pytanie, niezależnie od tego, czy miejsce docelowe to GitHub, czy inne witryny.
Pierre