Jak logować się do SSH dzięki kluczy w macOS?

zenbox.pl 1 miesiąc temu

SSH (Secure Shell) umożliwia bezpieczną i szyfrowaną komunikację zdalną z serwerem. Autoryzacja użytkownika może odbywać się m.in. dzięki hasła lub klucza (RSA, DSA). Klucze SSH eliminują konieczność wpisywania hasła przy każdym logowaniu, co zwiększa bezpieczeństwo i wygodę. W tym artykule dowiesz się krok po kroku jak wykonać odpowiednią konfigurację w aplikacji Terminal.

W tym artykule przybliżę Ci:
  • jak zainstalować Homebrew i zaktualizować OpenSSH
  • jak w Terminalu wygenerować klucze SSH i zapisać hasło klucza prywatnego w Keychain
  • jak logować się do SSH w Terminalu dzięki kluczy

Jak zainstalować Homebrew i zaktualizować OpenSSH w macOS?

Zanim przejdziesz do generowania kluczy SSH, upewnij się czy posiadasz zainstalowane OpenSSH w wersji co najmniej 8.0. jeżeli nie, dokonaj jego aktualizacji. W tym celu wykonaj poniższe kroki.

1. Uruchom Terminal.

2. Sprawdź czy posiadasz zainstalowaną najnowszą wersję OpenSSH. W tym celu wprowadź poniższe polecenie.

ssh -V

i zatwierdź przyciskiem Enter.

3. Po wykonaniu polecenia zostanie wyświetlona informacja o zainstalowanej wersji OpenSSH, jak w poniższym przykładzie.

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips

4. jeżeli posiadasz OpenSSH w wersji co najmniej 8.0 możesz pominąć punkty 5-9. W przeciwny wypadku, tak jak w powyższym przykładzie, dokonaj aktualizacji OpenSSH. Najpierw zainstaluj Homebrew dzięki poniższego polecenia:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

5. Gdy zostanie wyświetlony poniższy komunikat:

===> Checking for ’sudo’ access (which may request your password)…

wprowadź hasło do swojego Mac’a.

6. Następnie po wyświetleniu komunikatu:

Press RETURN/ENTER to continue or any other key to abort.

Naciśnij Enter, aby kontynuować.

7. jeżeli podczas instalacji ponownie zostanie wyświetlona prośba o wprowadzenie hasła, wprowadź hasło do swojego Mac’a.

8. Po zakończeniu instalacji Homebrew, wprowadź poniższe polecenie, aby zainstalować najnowszą wersję OpenSSH:

brew install openssh

9. Gdy instalacja OpenSSH dobiegnie końca, będziesz już posiadał najnowszą dostępną wersję.

Uwaga! Instalacja może zająć dłuższy czas. Choć chwilami proces może wyglądać na zamrożony, w rzeczywistości instalacja jest w toku i należy zaczekać na jej zakończenie.

Jak wygenerować klucze SSH w Terminalu na macOS?

1. W Terminalu wprowadź poniższe polecenie:

ssh-keygen -t rsa -b 4096

2. Następnie zostanie wyświetlony komunikat:

Enter file in which to save the key (/Users/użytkownik/.ssh/id_rsa):

Domyślnie pliki z kluczami są tworzone w lokalizacji /Users/użytkownik/.ssh/, zaś domyślna nazwa plików kluczy to id_rsa. Aby zaakceptować domyślne ustawienia naciśnij przycisk Enter lub wprowadź własną nazwę dla generowanych kluczy. Na potrzeby tego artykułu skorzystaliśmy z domyślnej nazwy.

3. W kolejnym kroku zostanie wyświetlony poniższy komunikat:

Enter passphrase (empty for no passphrase)

Wprowadź hasło do klucza prywatnego i zatwierdź przyciskiem Enter. Następnie ponownie wprowadź hasło i również zatwierdź przyciskiem Enter.

4. o ile wybrałeś domyślną lokalizację i nazwę pliku, wprowadź następujące polecenie:

cat ~/.ssh/id_rsa.pub

Wówczas zostanie wyświetlony klucz publiczny. Zachowaj go, będzie on potrzebny w kolejnym kroku.

Jak dodać klucz publiczny SSH na serwerze?

1. Zaloguj się do Panelu Klienta i przejdź do zakładki Hosting -> Manager plików. Następnie przejdź do katalogu .ssh.

2. W sekcji Narzędzia systemu plików, w polu Utwórz nowy plik, wprowadź nazwę authorized_keys i kliknij w przycisk Utwórz.

3. Kliknij w Edytuj obok utworzonego pliku authorized_keys.

4. Wprowadź swój klucz publiczny i kliknij w przycisk Zapisz jako, aby zapisać zmiany.

Jak zalogować się do SSH w Terminalu dzięki kluczy?

1. Otwórz Terminal.

2. Wprowadź polecenie zgodne z poniższym wzorem:

ssh -p 22 uż[email protected]

gdzie użytkownik to login do twojego głównego konta FTP/SSH, zaś sX.zenbox.pl to adres serwera na którym znajduje się Twoje konto.

Login do głównego konta FTP/SSH oraz adres serwera znajdziesz w Panelu Klienta, w sekcji Twoje konto, znajdującej się po prawej stronie – odpowiednio w polach Login oraz ID serwera.

3. o ile zostanie wyświetlony poniższy komunikat:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Wprowadź yes i naciśnij przycisk Enter.

4. Następnie wprowadź hasło do klucza prywatnego, które wpisałeś w poprzednim kroku, podczas generowania kluczy SSH.

5. jeżeli wprowadziłeś dane prawidłowo, zostaniesz pomyślnie zalogowany do SSH.

Jak na stałe zapisać hasło do klucza prywatnego w Terminalu na macOS?

Obecnie wykonana konfiguracja umożliwia już logowanie do SSH dzięki kluczy, jednak wymaga wprowadzenia hasła do klucza prywatnego. Aby nie było potrzeby wprowadzania tego hasła, możesz je zapisać w Keychain (pęku kluczy). W tym celu wykonaj poniższe kroki.

1. Uruchom Terminal.

2. Domyślnie w macOS agent SSH jest uruchamiany przy starcie systemu. Aby upewnić się czy tak jest, wprowadź poniższe polecenie:

launchctl list | grep ssh-agent

Jeżeli agent jest aktywny, zostanie wyświetlony identyfikator agenta SSH.

3. Aby zapisać hasło do klucza prywatnego w Keychain, użyj poniższego polecenia:

ssh-add --apple-use-keychain ~/.ssh/id_rsa

4. Następnie upewnij się, czy klucz będzie ładowany przy starcie systemu. W tym celu wprowadź poniższe polecenie:

ssh-add --apple-load-keychain

Jeśli weryfikacja będzie pozytywna, zobaczysz informację zgodną z poniższym przykładem:

Idenity added: /Users/użytkownik/.ssh/id_rsa (użytkownik@MacBook-Użytkownik.local)

5. od dzisiaj możesz już logować się do SSH bez użycia hasła. Wystarczy, iż w Terminalu wprowadzisz polecenie zgodne ze wcześniejszymi wzorem:

ssh -p 22 uż[email protected]

Podsumowanie

Wykonanie odpowiedniej konfiguracji w celu logowania do SSH dzięki kluczy jest proste i pozwoli zwiększyć bezpieczeństwo oraz wygodę podczas pracy. Dlatego też warto zacząć używać kluczy SSH już dziś.

Idź do oryginalnego materiału