Mateusz matipl Kamiński: blog o programowaniu, IT, finansach i własnym życiu

Logowanie SSH bez podawania hasła

OpenSSH - logoOstatnio bardzo często za pomocą głównego serwera roboczego łączę się do maszyn klientów poprzez SSH. Niestety za każdym razem muszę podawać hasło, a nie lubię utrzymywać niepotrzebnie przez cały dzień połączeń do wszystkich maszyn.

Dzisiaj postanowiłem to zmienić. Z jednej strony z wygodnictwa, a z drugiej ze względu bezpieczeństwa bo nie tylko ja jestem przy maszynie podczas logowań. Cała sprawa jest bardzo prosta i potrzebujemy na to tylko kilka minut.

Host-1 to maszyna robocza, host-2 maszyna zdalna, do której chcemy łączyć się bez podawania hasła.

Najpierw musimy wygenerować klucz, którym będzie się posługiwać:

matipl@host-1:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:

Na wszelki wypadek utwórzmy katalog .ssh na zdalnej maszynie:

matipl@host-1:~$ ssh matipl@host-2 mkdir -p .ssh
matipl@host-2's password:

Teraz wystarczy tylko wysłać nasz klucz publiczny:

matipl@host-1:~$ cat .ssh/id_rsa.pub | ssh matipl@host-2 'cat .ssh/authorized_keys'
matipl@host-2's password:

To wszystko, możemy się już logować bez podawania hasła lub wywoływać bezpośrednio polecenia na zdalnej maszynie:

matipl@hobbiton:~$ ssh matipl@host-2

Podobne wpisy:

CZYTAJ PRZEZ RSS

  • Dobrym pomysłem jest podanie jednak passphrase dla danego klucza. Potem wystarczy jeden raz w ciągu lokalnej sesji Xów uruchomić „ssh-add” i wprowadzić hasło. Dzięki temu nie musisz wpisywać hasło każdorazowo, a jednocześnie masz bezpieczny klucz, który, jak zostanie wykradziony, nie da nieupoważnionego dostępu do Twoich serwerów osobie trzeciej.

Możesz śledzić odpowiedzi za pomocą kanału RSS 2.0

Trackbacks / Pingbacks