SSH bez hasła za pomocą ssh-keygen i ssh-copy-id

ssh

Poniższy wpis będzie pomocny jeśli często logujesz się na zdalny serwer / serwery i nie chcesz za każdym reazem podawać hasła.

SSH-Keygen to narzędzie, które służy do tworzenia, zarządzania i konwersji kluczy uwierzytelniania dla ssh. SSH-keygen przechowuje klucz prywatny w $HOME/.ssh/id_rsa i klucz publiczny w $ HOME/.ssh/id_rsa.pub w katalogu domowym użytkownika. SSH-copy-id kopiuje klucze tożsamości w odpowiednim formacie, zapewnia uprawnienia do plików i prawa własności oraz zapewnia, że klucz prywatny nie jest przypadkowo skopiowany.

Cała operacja sprowadza się do wykonania dwóch bardzo prostych kroków:

1) wygenerowania klucza
2) przekopiowaniu klucza publicznego na maszynę zdalną do odpowiedniego użytkownika*

* Jako, że logujemy się na konto zdalne bez hasła a jest to bezpieczne tak jak nasz komputer z którego to robimy NIGDY nie ustawiaj automatycznego logowania na konto użytkownika root.

1) Tworzymy klucz publiczny i prywatny przy użyciu ssh-keygen na naszym komputerze lokalnym (localhost)

Aby to zrobić wydajemy polecenie

ssh-keygen

System zapyta się nas od lokalizację plików oraz o hasło – nie zmieniająć nic, naciskamy 3 razy enter (Hasła nie wprowadzamy ponieważ z domysłu chcemy logować się bez niego 🙂 )
Wynikiem powyższej komendy będzie coś podobnego:

[email protected]:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pawel/.ssh/id_rsa): <- ENTER
Enter passphrase (empty for no passphrase): <- ENTER
Enter same passphrase again: <- ENTER
Your identification has been saved in /home/pawel/.ssh/id_rsa.
Your public key has been saved in /home/pawel/.ssh/id_rsa.pub.
The key fingerprint is:
b3:e4:15:20:50:13:b4:da:00:b5:b6:c7:99:c9:14:c4 [email protected]
The key’s randomart image is:
+–[ RSA 2048]—-+
| o++X. |
| E= O |
| . O . |
| = + . |
| o + S |
| + + . |
| o |
| |
| |
+—————–+

2) Kopiujemy klucz publiczny na zdalną maszynę używając polecenia ssh-copy-id

Ostatnia czynność jaka nam pozostaje to przekopiowanie wygenerowanego klucza publicznego na zdalny serwer i konto do którego chcemy się logować:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Oczywiśćie [email protected] zmieniamy na swoje dane. W odpowiedzi dostajemy:

[email protected]’s password:
Now try logging into the machine, with „ssh ‚[email protected]'”, and check in:

~/.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting

Jesli posiadasz serwer SSH na innym porcie niż domyślny (22) to przy poleceniu kopiowania dopisujesz -p <port>, np:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -p 1234

To wszystko, proste prawda ?

Sprawdzamy czy wszystko poszło dobrze logująć się na maszynę zdalną:

ssh [email protected]

 

1 Komentarz

  1. Pingback: SSH bez hasła przy użyciu puttygen i putty | wnuk.me

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *