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

Czym jest SSH?

Usłu­ga SSH (Secure Shell) umożli­wia bezpośred­nie zarządzanie ser­w­erem, z wyko­rzys­taniem połączenia ter­mi­nalowego. Połącze­nie naw­iązy­wane przez SSH jest szyfrowane. Pro­tokół komu­nika­cyjny SSH jest dostęp­ny na wszys­t­kich typach ser­w­erów hostin­gowych w nazwa.pl.

Logowanie do ser­w­era z wyko­rzys­taniem SSH moż­na zre­al­i­zować na dwa sposo­by:

  • przy uży­ciu hasła – meto­da zale­cana np. przy połącze­niu z sys­te­mu Win­dows;
  • przy uży­ciu klucza – możli­we do zre­al­i­zowa­nia np. poprzez kon­solę sys­te­mu Lin­ux.
Jak zalogować się przy użyciu hasła?

W przy­pad­ku logowa­nia do ser­w­era z sys­te­mu Win­dows, możli­we jest wyko­rzys­tanie do tego celu pop­u­larnego, dar­mowego pro­gra­mu o nazwie PuT­TY. Aplikację możesz pobrać ze strony auto­ra pod adresem PuT­TY. Po ściąg­nię­ciu pro­gra­mu putty.exe, uru­chom go, a następ­nie wypełnij for­mu­la­rz kon­fig­u­racji.

  • W polu Host Name (or IP adress) wpisz iden­ty­fika­tor posi­adanego w nazwa.pl ser­w­era, np. server12345.nazwa.pl.
  • Stan­dar­d­owy Port to 22.
  • W polu Saved Ses­sions wpisz nazwę sesji, aby w późniejszym cza­sie móc łatwiej połączyć się z ser­w­erem, a następ­nie kliknij przy­cisk Save, aby zapisać aktu­al­nie wprowad­zone dane.

Kliknij przy­cisk Open, aby wywołać okno ter­mi­nala. Przy pier­wszym połącze­niu do ser­w­era powinien zostać wyświ­et­lony dodatkowy monit w oknie PuT­TY Secu­ri­ty Alert. Komu­nikat ten należy zatwierdz­ić, po uprzed­nim upewnie­niu się, że połącze­nie naw­iązy­wane jest do właś­ci­wego ser­w­era.

Po zatwierdze­niu komu­nikatu zostanie wywołane właś­ci­we okno ter­mi­nala wraz z polece­niem „login as”. Wpisz praw­idłową nazwę użytkown­i­ka i potwierdź, wciska­jąc klaw­isz Enter. W kole­jnym wier­szu wyświ­et­lone zostanie polece­nie, aby wpisać hasło, „server12345@server12345.nazwa.pl’s pass­word:”. Podaj je i zatwierdź klaw­iszem Enter. Wpisy­wane zna­ki nie będą widoczne. Jeśli wprowad­zone dane będą praw­idłowe, nastąpi zal­o­gowanie do ser­w­era.

Nazwa użytkown­i­ka przy logowa­niu do SSH to iden­ty­fika­tor Two­jego ser­w­era, czyli w naszym przy­pad­ku server12345, a hasło logowa­nia do SSH to hasło Two­jego ser­w­era, którego uży­wasz logu­jąc się do pan­elu zarządza­nia Active.admin.

Potwierdze­niem praw­idłowego zal­o­gowa­nia będzie wyświ­etle­nie kole­jnego wier­sza pole­ceń z przykład­ową zawartoś­cią: „server12345@server12345:~$”. Pra­ca w ter­mi­nalu opar­ta jest o wpisy­wanie odpowied­nich pole­ceń sys­te­mu Lin­ux.

Do najpop­u­larniejszych pole­ceń należą:

  • chmod – zmi­ana uprawnień (odczy­ty­wa­nia, zapisy­wa­nia i wykony­wa­nia) wybranego kat­a­logu lub pliku; przykład­owo, aby dla kat­a­logu o nazwie upload nadać pełne prawa dla właś­ci­ciela, a dla pozostałych użytkown­ików prawa do odczy­tu i wykony­wa­nia, należy wpisać: chmod upload 755;
  • chmord ‑r – zmi­ana uprawnień dla kat­a­logu oraz wszys­t­kich zna­j­du­ją­cych się w nim plików;
  • pwd – wskazanie aktu­al­nego kat­a­logu;
  • cd – prze­jś­cie do podanego kat­a­logu, np. aby prze­jść do kat­a­logu upload wpisz: cd upload;
  • cd ~ – prze­jś­cie do kat­a­logu głównego ser­w­era;
  • cd .. – prze­jś­cie do kat­a­logu nadrzęd­nego;
  • rm – usunię­cie wskazanego pliku, np. aby usunąć plik signature.png wpisz rm signature.png;
  • rmdir – usunię­cie folderu;
  • rm * – usunię­cie wszys­t­kich plików w fold­erze;
  • ls ‑alh – wyświ­etle­nie listy wszys­t­kich plików i pod­kat­a­logów wraz z uprawnieni­a­mi, użytkown­ikiem, rozmi­arem i datą ostat­niej ich mody­fikacji;
  • zip – kom­pres­ja kat­a­logu z wszys­tki­mi plika­mi i pod­kat­a­loga­mi do pliku o wskazanej nazwie, np. aby spakować zawartość kat­a­logu moje_pliki do pliku moje_archiwum.zip wpisz:
  • zip ‑r moje_archiwum.zip moje_pliki;
  • unzip ‑d folder_docelowy nazwapliku.zip – roz­pakowanie archi­wum do podanego kat­a­logu.
Jak zalogować się przy użyciu klucza?

Logowanie do ser­w­era przez pro­tokół SSH moż­na auto­ry­zować, prócz hasła, również kluczem SSH. Poniżej zna­j­du­je się opis przykład­owej kon­fig­u­racji takiego połączenia z wier­sza pole­ceń sys­te­mu Lin­ux. Logowanie z uży­ciem klucza jest jed­nak dostęp­ne także dla wielu innych sys­temów i aplikacji, a sposób doda­nia klucza będzie opisany w ich plikach pomo­cy. Wszys­tkie poniższe komendy należy wpisy­wać ręcznie (nie kopi­u­jąc ich), aby uniknąć niepraw­idłowoś­ci.

  1. Jeśli posi­adasz już gotową parę kluczy, czyli klucz pry­wat­ny i klucz pub­liczny:
    • uru­chom kon­solę pole­ceń na hoś­cie lub kom­put­erze lokalnym z sys­te­mem Lin­ux, z którego połącze­nie ma być wyko­nane;

    • dodaj klucz pub­liczny (najczęś­ciej ma on rozsz­erze­nie .pub) na ser­w­erze, do którego będziesz się łączyć; najprost­szym sposobem jest sko­rzys­tanie z polece­nia:

      ssh-copy-id -i plik_klucza login@adres_serwera przykład­owo: ssh-copy-id -i ~/.ssh/id_rsa.pub server12345@server12345.nazwa.pl

    • po zatwierdze­niu zaak­cep­tuj host jako zau­fany (jeśli nie zostało to zro­bione wcześniej), podaj hasło logowa­nia do swo­jego ser­w­era i zatwierdź naciska­jąc na klaw­iaturze Enter;

    • po tych oper­ac­jach możli­we jest już wywołanie połączenia z uży­ciem klucza.

    W przy­pad­ku prob­lemów upewnij się, że na docelowym ser­w­erze (przykład­owo server12345.nazwa.pl) kat­a­log ~/.ssh oraz plik ~/.ssh/authorized_keys mają właś­ci­we 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 posi­adasz pary kluczy i chcesz je wygen­erować:
    • uru­chom kon­solę pole­ceń na hoś­cie lub kom­put­erze lokalnym z sys­te­mem Lin­ux, z którego połącze­nie ma być wyko­nane;

    • sko­rzys­taj z polece­nia ssh-key­gen; przykład­owo, aby utworzyć klucz typu RSA dla pro­tokołu SSH w wer­sji 2 (inne wer­sje moż­na wygen­erować sto­su­jąc odpowied­nie opc­je, których opis moż­na znaleźć po wywoła­niu komendy ssh-key­gen –help) użyj komendy:

      ssh-keygen -b 2048 -t rsa

    • po wpisa­niu komendy ssh-key­gen i jej wyko­na­niu, pojawi się komu­nikat:

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

    • możesz podać włas­ną lokaliza­cję lub zatwierdz­ić puste pole klaw­iszem Enter, wów­czas klucz pry­wat­ny i pub­liczny zostaną zapisane z domyśl­ną nazwą do lokaliza­cji ujętej w naw­iasie, np.:

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

    • w następ­nym kroku pojawi się proś­ba o podanie i powtórze­nie hasła:

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

    • podanie hasła jest zale­cane, ale nie jest wyma­gane; możesz zatwierdz­ić puste pole klaw­iszem Enter;

    • wyświ­et­lony zostanie komu­nikat pod­sumowu­ją­cy wygen­erowanie 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