godło

STASZIC

XIV Liceum Ogólnokształcące

Pomoc SSH

Uzyskiwanie klucza SSH

Zwykle, aby uzyskać klucz SSH, należy przyjść do serwerowni (sala 212) z pendrive’em oraz legitymacją szkolną lub, w przypadku pracowników, z dowodem osobistym. Administrator po potwierdzeniu tożsamości osoby wygeneruje klucz SSH i zapisze go na dostarczonym pendrivie.

Administrator może dodać uprzednio wygenerowany klucz SSH, który zostanie dostarczony na pendrivie do serwerowni lub wysłany w załączniku wiadomości email z konta mailowego danego użytkownika na adres root@staszic.waw.pl w uzasadnionych przypadkach i w sytuacji nadzwyczajnej po sprawdzeniu możliwości technicznych oraz upewnieniu się, że dane chronione oraz bezpieczeństwo, integralność i ciągłość pracy sieci szkolnej nie będą narażone. W przypadku wysłania go drogą mailową, nie zacznie on działać jednak natychmiastowo, lecz dopiero po pozytywnej odpowiedzi (także mailowej) któregoś z administratorów.

Windows

Poniżej znajduje się instrukcja generowania kluczy SSH dla systemu Windows. Prosimy korzystać tylko z tego sposobu i wpisać w aplikacji dokładnie te wartości, które są na zdjęciu. Klucz wygenerowany w inny sposób może nie być kompatybilny z oprogramowaniem na naszych serwerach.

  1. Pobrać program PuTTYgen https://the.earth.li/~sgtatham/putty/latest/w64/puttygen.exe i go uruchomić.
  2. W polu „Number of bits” wpisać „4096” i nacisnąć przycisk „Generate”.
     
  3. Należy ruszać myszką w wyznaczonym polu podczas generowania klucza.
  4. Uzupełnić pole „key comment” według następnującego formatu: „login@minionki.staszic.waw.pl”, zastępując „login” swoim loginem z serwera szkolnego (loginy składają się z małych liter alfabetu łacińskiego i/lub cyfr).
  5. Wpisać hasło w polu „key passphrase”. Hasło powinno być inne niż hasło do konta.
  6. Nacisnąć „save public key”. Po zapisaniu klucz plik należy dostarczyć do serwerowni lub wysłać na adres root@staszic.waw.pl przy użyciu szkolnego maila (link), tytułując wiadomość Klucz SSH Windows.
  7. Nacisnąć „save private key”. To właśnie klucz, o którym mowa w dalszych instrukcjach.

Linux, GNU i macOS

Aby wygenerować klucz SSH na Linuxie lub komputerach Apple z systemem macOS należy:

  1. Wejść do aplikacji Terminal (na macOS: otworzyć folder Aplikacje > Kliknąć Narzędzia > Kliknąć dwukrotnie Terminal)
  2. Wpisać ssh-keygen -t rsa -b 4096 -f ~/.ssh/staszic -C "login@boss.staszic.waw.pl" zastępując „login” swoim loginem z serwera szkolnego (loginy składają się z małych liter alfabetu łacińskiego i/lub cyfr) i zatwierdzić klikając ENTER.
  3. Wpisać eval "$(ssh-agent -s)" i zatwierdzić klikając ENTER.
  4. Wpisać ssh-add ~/.ssh/staszic i zatwierdzić klikając ENTER.
  5. Wpisać cp ~/.ssh/staszic.pub ~/Desktop/staszic_pub.txt i zatwierdzić klikając ENTER.
  6. Wysłać plik staszic_pub.txt zapisany na pulpicie na adres root@staszic.waw.pl przy użyciu szkolnego konta mailowego wpisując w tytule maila Klucz SSH Linux/macOS

Odciski palca kluczy publicznych

SHA256:lADbHySFTKX86a8K5gvNCztPWIoBnNsajRzxq2OwRjY (ED25519)
SHA256:UDNIUzor///nU/ykRpHB0acqPDPWGAxo+Dtw6Yaa8Zs (ECDSA)
SHA256:2er19Y/Ndh543A0DHORTAO8ty4Rvi1jcG63QGDr+tn8 (RSA)

OpenSSH

Jeśli korzystasz z Linuksa, to używanie SSH jest bardzo proste. Wystarczy wpisać w konsolę polecenie:

ssh -o IdentitiesOnly=yes -i /path/to/your/key/username username@minionki.staszic.waw.pl

I wpisać hasło, którym zabezbieczyłeś swój klucz. (Po opcji -i należy wpisać ścieżkę do swojego klucza prywatnego.)

UWAGA! klucz prywatny musi mieć uprawnienia 600 (rw-------), żeby inni użytkownicy komputera nie mogli go przeczytać! W przeciwnym wypadku ssh nie pozwoli na jego użycie.

Podobnie łatwo można kopiować pliki. Na przykład, żeby skopiować plik example z lokalnego komputera na pulpit na koncie na bossie należy użyć polecenia:

scp -o IdentitiesOnly=yes -i /path/to/your/key/username example username@boss.staszic.waw.pl:~/Desktop/

Składnia jest podobna jak polecenia cp: scp plik_źródłowy plik_docelowy przy czym plik zdalny opisuje się w formacie użytkownik@serwer:ścieżka. W analogiczny sposób można kopiować pliki w drugą stronę - z serwera na komputer lokalny.

Jeśli będziesz często korzystał z ssh to prawdopodobnie uznasz, że wpisywanie za każdym razem tego całego -i /strasznie/długa/ścieżka/do/klucza jest niezbyt fajne. Możesz jednak tego uniknąć: wystarczy oba klucze - prywatny (username) i publiczny (username.pub) - wrzucić do katalogu .ssh w twoim katalogu domowym pod nazwami odpowiednio id_rsa i id_rsa.pub. Wtedy ssh samo znajdzie twoje klucze.

Poza tym, jeśli używasz takiej samej nazwy użytkownika na swoim komputerze co na bossie, możesz nie pisać username@. A tak w ogóle, to można sobie to wszystko łatwo skonfigurować w ~/.ssh/config i pisać tylko np. ssh boss

Autor: Maciej Dębski


Do przesyłania plików na serwer można także użyć sftp. Po wpisaniu polecenia:

sftp -o IdentitiesOnly=yes -i /path/to/your/key/username username@minionki.staszic.waw.pl

Pojawi się ograniczona powłoka, w której dostępne są standardowe komendy do nawigacji w systemie plików takie jak pwd, ls, cd, mkdir, rm oraz specjalne komendy sftp takie jak get i put. Aby wysłać plik na serwer należy użyć polecenia:

put localpath/file remotepath/file

Relatywna ścieżka lokalna będzie ścieżką w której został uruchomiony sftp. Pobrać plik z serwera można w sposób analogiczny:

get remotepath/file localpath/file

WinSCP

Program WinSCP jest darmowym windowsowym programem służącym do przesyłania plików za pomocą protokołów SCP/SFTP. By użyć go do połączenia ze szkolnym serwerem, wystarczy wykonać następujące kroki:

...

1. Konfiguracja

W odpowiednie pola należy wpisać adres serwera minionki.staszic.waw.pl , swój login, oraz podać ścieżkę do swojego klucza SSH (chodzi o ten plik z rozszerzeniem .ppk). Warto też nacisnąć przycisk Save / Zapisz.<

...

2. Podpis cyfrowy

Aby otworzyć sesję, należy nacisnąć Login / Logowanie i (za pierwszym razem) w oknie, które się pojawi, sprawdzić "podpis" serwera. Prawidłowy podpis to dowolny z tych w znajdujących się w zakładce Odciski palca kluczy publicznych

...

3. Logowanie

Następnie trzeba wpisać swoje hasło, użyte do zabezpieczenia klucza SSH

...

4. Sukces

I już mamy ładny interfejs do przesyłania plików. Warto zauważyć przyciski Kopiuj, Przenieś na dole okna...

PuTTY

Jeśli korzystasz z Windowsa, to do łączenia się z serwerem przez SSH najlepiej użyć programu PuTTY. Ściągnięty plik .exe wystarczy zapisać gdzieś pod ręką i uruchomić, nie wymaga instalacji. Wymaga natomiast trochę konfiguracji:


...

1. Uruchomienie

Po uruchomieniu programu powinieneś zobaczyć takie okno.

...

2. Konfiguracja

W odpowiednie pola wpisz adres serwera minionki.staszic.waw.pl i nazwę, pod jaką sesja będzie zapisana (polecam minionki)

...

3. Kodowanie

W menu po lewej przejdź do sekcji Window → Translation . Z rozwijanej listy wybierz opcję UTF-8

...

4. Klucz SSH

Przejdź do Connection → SSH → Auth i podaj ścieżkę do swojego pliku z kluczem (jeśli dostałeś kilka plików, chodzi o ten z rozszerzeniem .ppk)

...

5. Zapisywanie

Wróć do menu Session i kliknij Save, by nie musieć powtarzać powyższych kroków za każdym razem. Aby otworzyć sesję, kliknij Open

...

6. Podpis cyfrowy

Za pierwszym razem prawdopodobnie pokaże ci się okienko, w którym powinieneś sprawdzić "podpis" serwera. Prawidłowy podpis to dowolny z tych w znajdujących się w zakładce Odciski palca kluczy publicznych

...

7. Logowanie

W otwartym czarnym okienku wpisz swój login, naciśnij Enter i wprowadź swoje hasło (Uwaga, nie wyświetla się!)

...

8. Sukces

Jeśli wszystko poszło dobrze, powinienes zobaczyć trochę różnych informacji zakończonych napisem username@boss ~ $, gdzie username to twoja nazwa użytkownika.