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.
- 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 -Vi 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-fips4. 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 openssh9. 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 40962. 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.pubWó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-agentJeż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_rsa4. Następnie upewnij się, czy klucz będzie ładowany przy starcie systemu. W tym celu wprowadź poniższe polecenie:
ssh-add --apple-load-keychainJeś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ś.