Jak połączyć się z ssh przy użyciu innego klucza publicznego?

47

Mam dwa klucze publiczne, jeden dla niektórych serwerów i jeden dla innych. Jak określić, którego klucza należy użyć podczas łączenia się z serwerem?

pozbyć się
źródło

Odpowiedzi:

55

Zakładając, że jesteś w środowisku Unix / Linux, możesz utworzyć lub edytować plik ~/.ssh/config.

Ten plik konfiguracyjny pozwala ustalić parametry, które będą używane dla każdego hosta; na przykład:

Host host1
  HostName <hostname_or_ip>
  IdentityFile ~/.ssh/identity_file1

Host Host2
  HostName <hostname_or_ip2>
  User differentusername
  IdentityFile ~/.ssh/identity_file2

Pamiętaj, że host1 i host2 mogą również nie być nazwami hostów, ale raczej etykietami identyfikującymi serwer.

Teraz możesz zalogować się do hostów za pomocą:

ssh host1
ssh host2
Marco Bizzarri
źródło
38
Możesz także użyć -i <keyfile>, ale zdecydowanie polecam metodę pliku konfiguracyjnego w ogólnym przypadku.
womble
Próbowałem tego, ale wciąż pojawia się monit o hasło do mojego klucza. Nawet gdy poprawnie wprowadzę hasło, logowanie ssh nie działa. Próbowałem też użyć pustego hasła
Hamman Samuel
Musiałem zrobić ssh differentusername@host2dla prawidłowego logowania, ale poza tym działało to cudownie, dziękuję!
agrippa
-2

W Fedorze 27 możesz umieścić klucze prywatne / publiczne w ~ / .ssh /, a kiedy ssh do hosta, oba zostaną automatycznie wypróbowane.

zhigang
źródło