Skonfiguruj ścieżkę klucza ssh do użycia dla określonego hosta

13

Podczas łączenia przez SSH mój terminal domyślnie chce używać id_rsa. Nie chcę używać tego klucza dla tego konkretnego serwera. Więc jestem zmuszony określić właściwą ścieżkę klucza podczas łączenia:

Działa to w celu połączenia: ssh -i /Users/myuser/.ssh/mykey [email protected]

Ale wolałbym użyć następujących do połączenia: ssh uż[email protected]

Moje pytanie : Czy istnieje sposób wskazania w znane_hostach lub innej konfiguracji, że SSH powinien używać klucza znajdującego się w /Users/myuser/.ssh/mykey, gdy serveruser łączy się z server.com ?

Dzięki!

MastaP
źródło
Czy rozważałeś użycie funkcji lub skryptu do zamiany ssh? Jest to proste zadanie, aby przeskanować parametry i dodać dodatkowy parametr, aby użyć drugiego klucza podczas łączenia się z server.com.
AFH,

Odpowiedzi:

19

Jedną z opcji, którą można rozważyć, byłoby użycie pliku .ssh / config.

Przykład: .ssh / config

Host server.com
    HostName server.com
    User serveruser
    IdentityFile /Users/myuser/.ssh/mykey

W ten sposób możesz uruchomić „ssh server.com”. Plik konfiguracyjny użyje określonej nazwy użytkownika i pliku tożsamości.

Erik
źródło
Dodanie: Możesz użyć ~/.ssh/mykeydo pliku klucza lokalnego, także w systemie Windows.
Lii
0

Dodatkową opcją byłoby użycie ssh-agent.

Jeśli dodasz do niej wszystkie swoje tożsamości

ssh-add .ssh/id_rsa
ssh-add .ssh/mykey

Kiedy łączysz się ze zdalnym hostem, działa ten, który działa.

Erik
źródło