Czy przesłanie twojego publicznego klucza openssh do ~ / .ssh / dla danego użytkownika jest bezpieczne?

4

Chciałbym przesłać mój klucz publiczny (np .: ~ / .ssh / id_rsa.pub) do różnych serwerów, z którymi łączę się w różnych sieciach do pracy. Używam tego samego klucza publicznego na Github. Jeśli jestem na wspólnym koncie użytkownika i umieściłem tam mój klucz publiczny, czy ktoś może go po prostu wziąć i zrobić z nim coś niekorzystnego? Czy ogólnie nie jest mądrym pomysłem posiadanie tylko jednego klucza publicznego, który dzielisz między kilka serwerów?

Zombies
źródło
1
Ponieważ twój klucz jest już w Github, jest to możliwe ktoś aby uzyskać do niego dostęp: github.com/TwojeUsername.keys
Valmiky Arquissandas

Odpowiedzi:

11

Klucz publiczny ma być ujawniony zdalnym systemom. Zakładając, że twoja para kluczy ma odpowiednią długość, przesłanie klucza publicznego do hostów zdalnych jest bezpieczne. Tylko twój klucz prywatny musi być chroniony i zwykle odbywa się to przy użyciu uprawnień do systemu plików, a także hasła.

To powiedziawszy, używanie tej samej pary kluczy dla wielu hostów powoduje, że trudniej jest ją zastąpić, jeśli ten klucz kiedykolwiek zostanie naruszony, lub nawet jeśli po prostu chcesz go regularnie wymieniać, aby zachować dobrą higienę bezpieczeństwa.

Dopóki wszystko idzie dobrze, to nie będzie problem używać tej samej pary kluczy dla wielu hostów lub usług, ale jeśli nie masz konkretnej potrzeby, aby zrobić to w ten sposób, Sugerowałbym używanie różnych par kluczy dla każdego hosta i / lub usługi. Możesz określ, który plik klucza powinien zostać użyty na podstawie hosta za pośrednictwem ~ / .ssh / config (patrz man ssh_config ) i jego Host i IdentityFile dyrektywy (zakładając OpenSSH, inni klienci mają różne sposoby osiągnięcia tego samego).

I jeśli jesteś na wspólnym koncie użytkownika w pracy, w holu, aby to naprawić. Współdzielone konta użytkowników sprawiają, że prawie niemożliwe jest odpowiednio zabezpieczyć dostęp i dane, a po fakcie zobaczyć, kto coś zrobił. W rzeczywistości twierdzę, że jest twój problem, nie używając pary kluczy SSH dla wielu hostów. Istnieje tylko kilka pytań, na które odpowiedzią są udostępnione konta użytkowników.

a CVn
źródło
Polecam używanie IdentityFile opcja z symbolami zastępczymi. W ten sposób łatwiej jest wprowadzić nowe klucze.
Daniel B