Promocja: pl – od 10 zł | eu – od 10 zł | com – od 20 zł

Co to jest SSH i do czego służy?

Czym jest SSH?

Usługa SSH (Secure Shell) umożliwia bezpośrednie zarządzanie serwerem, z wykorzystaniem połączenia terminalowego. Połączenie nawiązywane przez SSH jest szyfrowane. Protokół komunikacyjny SSH jest dostępny na wszystkich typach serwerów hostingowych w nazwa.pl.

Logowanie do serwera z wykorzystaniem SSH można zrealizować na dwa sposoby:

  • przy użyciu hasła – metoda zalecana np. przy połączeniu z systemu Windows;
  • przy użyciu klucza – możliwe do zrealizowania np. poprzez konsolę systemu Linux.
Jak zalogować się przy użyciu hasła?

W przypadku logowania do serwera z systemu Windows, możliwe jest wykorzystanie do tego celu popularnego, darmowego programu o nazwie PuTTY. Aplikację możesz pobrać ze strony autora pod adresem PuTTY. Po ściągnięciu programu putty.exe, uruchom go, a następnie wypełnij formularz konfiguracji.

  • W polu Host Name (or IP adress) wpisz identyfikator posiadanego w nazwa.pl serwera, np. server12345.nazwa.pl.
  • Standardowy Port to 22.
  • W polu Saved Sessions wpisz nazwę sesji, aby w późniejszym czasie móc łatwiej połączyć się z serwerem, a następnie kliknij przycisk Save, aby zapisać aktualnie wprowadzone dane.

Kliknij przycisk Open, aby wywołać okno terminala. Przy pierwszym połączeniu do serwera powinien zostać wyświetlony dodatkowy monit w oknie PuTTY Security Alert. Komunikat ten należy zatwierdzić, po uprzednim upewnieniu się, że połączenie nawiązywane jest do właściwego serwera.

Po zatwierdzeniu komunikatu zostanie wywołane właściwe okno terminala wraz z poleceniem „login as”. Wpisz prawidłową nazwę użytkownika i potwierdź, wciskając klawisz Enter. W kolejnym wierszu wyświetlone zostanie polecenie, aby wpisać hasło, „server12345@server12345.nazwa.pl’s password:”. Podaj je i zatwierdź klawiszem Enter. Wpisywane znaki nie będą widoczne. Jeśli wprowadzone dane będą prawidłowe, nastąpi zalogowanie do serwera.

Nazwa użytkownika przy logowaniu do SSH to identyfikator Twojego serwera, czyli w naszym przypadku server12345, a hasło logowania do SSH to hasło Twojego serwera, którego używasz logując się do panelu zarządzania Active.admin.

Potwierdzeniem prawidłowego zalogowania będzie wyświetlenie kolejnego wiersza poleceń z przykładową zawartością: „server12345@server12345:~$”. Praca w terminalu oparta jest o wpisywanie odpowiednich poleceń systemu Linux.

Do najpopularniejszych poleceń należą:

  • chmod – zmiana uprawnień (odczytywania, zapisywania i wykonywania) wybranego katalogu lub pliku; przykładowo, aby dla katalogu o nazwie upload nadać pełne prawa dla właściciela, a dla pozostałych użytkowników prawa do odczytu i wykonywania, należy wpisać: chmod upload 755;
  • chmod -r – zmiana uprawnień dla katalogu oraz wszystkich znajdujących się w nim plików;
  • pwd – wskazanie aktualnego katalogu;
  • cd – przejście do podanego katalogu, np. aby przejść do katalogu upload wpisz: cd upload;
  • cd ~ – przejście do katalogu głównego serwera;
  • cd .. – przejście do katalogu nadrzędnego;
  • rm – usunięcie wskazanego pliku, np. aby usunąć plik signature.png wpisz rm signature.png;
  • rmdir – usunięcie folderu;
  • rm * – usunięcie wszystkich plików w folderze;
  • ls -alh – wyświetlenie listy wszystkich plików i podkatalogów wraz z uprawnieniami, użytkownikiem, rozmiarem i datą ostatniej ich modyfikacji;
  • zip – kompresja katalogu z wszystkimi plikami i podkatalogami do pliku o wskazanej nazwie, np. aby spakować zawartość katalogu moje_pliki do pliku moje_archiwum.zip wpisz:
  • zip -r moje_archiwum.zip moje_pliki;
  • unzip -d folder_docelowy nazwapliku.zip – rozpakowanie archiwum do podanego katalogu.
Jak zalogować się przy użyciu klucza?

Logowanie do serwera przez protokół SSH można autoryzować, prócz hasła, również kluczem SSH. Poniżej znajduje się opis przykładowej konfiguracji takiego połączenia z wiersza poleceń systemu Linux. Logowanie z użyciem klucza jest jednak dostępne także dla wielu innych systemów i aplikacji, a sposób dodania klucza będzie opisany w ich plikach pomocy. Wszystkie poniższe komendy należy wpisywać ręcznie (nie kopiując ich), aby uniknąć nieprawidłowości.

  1. Jeśli posiadasz już gotową parę kluczy, czyli klucz prywatny i klucz publiczny:
    • uruchom konsolę poleceń na hoście lub komputerze lokalnym z systemem Linux, z którego połączenie ma być wykonane;

    • dodaj klucz publiczny (najczęściej ma on rozszerzenie .pub) na serwerze, do którego będziesz się łączyć; najprostszym sposobem jest skorzystanie z polecenia:

      ssh-copy-id -i plik_klucza login@adres_serwera

      przykładowo:

      ssh-copy-id -i ~/.ssh/id_rsa.pub server12345@server12345.nazwa.pl
    • po zatwierdzeniu zaakceptuj host jako zaufany (jeśli nie zostało to zrobione wcześniej), podaj hasło logowania do swojego serwera i zatwierdź naciskając na klawiaturze Enter;

    • po tych operacjach możliwe jest już wywołanie połączenia z użyciem klucza.

    W przypadku problemów upewnij się, że na docelowym serwerze (przykładowo server12345.nazwa.pl) katalog ~/.ssh oraz plik ~/.ssh/authorized_keys mają właściwe uprawnienia dostępu (755). Jeśli tak nie jest, należy zmienić je komendą chmod, np.:

    chmod 755 ~/.ssh/authorized_keys
    chmod 755 ~/.ssh

  2. Jeśli nie posiadasz pary kluczy i chcesz je wygenerować:
    • uruchom konsolę poleceń na hoście lub komputerze lokalnym z systemem Linux, z którego połączenie ma być wykonane;

    • skorzystaj z polecenia ssh-keygen; przykładowo, aby utworzyć klucz typu RSA dla protokołu SSH w wersji 2 (inne wersje można wygenerować stosując odpowiednie opcje, których opis można znaleźć po wywołaniu komendy ssh-keygen –help) użyj komendy:

      ssh-keygen -b 2048 -t rsa

    • po wpisaniu komendy ssh-keygen i jej wykonaniu, pojawi się komunikat:

      Enter file in which to save the key (~/.ssh/id_rsa):

    • możesz podać własną lokalizację lub zatwierdzić puste pole klawiszem Enter, wówczas klucz prywatny i publiczny zostaną zapisane z domyślną nazwą do lokalizacji ujętej w nawiasie, np.:

      ~/.ssh/id_rsa.key (klucz prywatny);
      ~/.ssh/id_rsa.key.pub (klucz publiczny);

    • w następnym kroku pojawi się prośba o podanie i powtórzenie hasła:

      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:

    • podanie hasła jest zalecane, ale nie jest wymagane; możesz zatwierdzić puste pole klawiszem Enter;

    • wyświetlony zostanie komunikat podsumowujący wygenerowanie kluczy:

      Your identification has been saved in /home/katalog/.ssh/id_rsa.
      Your public key has been saved in /home/katalog/.ssh/id_rsa.pub.
      The key fingerprint is:
      SHA256:e16xemhb9wFA0yrCVy5un3q6c5RZZNjvkv84RP/HC0M logowanie ssh
Table of Contents