• Główna
  • O akcji
  • Fora
  • Lista szkół
  • Odnośniki
  • RSS
Strona główna

Nawigacja

  • O akcji Szkolny LUG
  • Linux
    • * Bash
    • * Dystrybucje
    • * How to
    • * Instalacja Linuksa
    • * Instalacja Oprogramowania
    • * Sprzęt w Linuksie
    • * System
    • * Wdrażanie Linuksa
    • * Wygląd
  • Programy edukacyjne na Linuksa
    • * Programy dla nauczyciela
    • * Programy dla ucznia
    • * Programy dla dzieci
    • *Chemia
    • * Fizyka
    • * Języki Obce
    • * Matematyka
    • * TI - Grafika 2D
    • * TI - Grafika 3D
    • * TI - Inne
    • * TI - Programowanie
    • * TI - edycja wideo
    • * TI- Edytory/Procesory Tekstu
    • * TI- Internet
  • Rozrywka w Linuksie
  • Więcej o akcji
  • Popularne strony
  • Ostatnio dodane
  • Gnuplot jest całkowicie darmowym rozwiązaniem, do którego dostęp ma każdy użytkownik "Pingwina", ale nie tylko, ponieważ jest to

Logowanie

  • Utwórz nowe konto
  • Poproś o nowe hasło

Popularne strony

Dzisiejsze:

  • Lista repozytoriów (serwerów z oprogramowaniem) dla Ubuntu
  • Aplikacje z KDE (Quanta) po polsku

Od zawsze:

  • Polecenia w Linuksie
  • Jaki Linux ?
  • Emulator PlayStation I - epsxe

SSH (secure shell) dla uczniów szkoły średniej

sierpień 25, 2009 -- Posted by: cytrynek in
  • Technologia informacyjna - Internet

 Instalacja serwera SSH

Standardowo w systemie zainstalowany jest klient ssh - OpenSSH SSH client (remote login program).

sudo apt-get install ssh

Zostanie zainstalowany pakiet openssh-server. Utworzy on klucze RSA i DSA.

Konfigurowanie openssh-server (1:5.1p1-5ubuntu1) ...

Creating SSH2 RSA key; this may take some time ...

Creating SSH2 DSA key; this may take some time ...

  • Restarting OpenBSD Secure Shell server sshd

 

Klucz publiczny i prywatny

Dzięki kluczowi publicznemu dokonamy szyfrowania wiadomości, którą odszyfrować może jedynie posiadacz klucza prywatnego.

Klucz publiczny używamy wyłącznie do szyfrowania, natomiast prywatny do rozszyfrowywania wiadomości.

Protokół RSA i DSA umożliwia przeprowadzanie bezpiecznej autoryzacji bez konieczności przesyłania przez sieć jakichkolwiek poufnych informacji.

Uwagi:

Wystraczy wygenerować tylko jedną parę kluczy. Klucz publiczny powinien znajdować na wszystkich maszynach, gdzie chcemy się zalogować za pomocą klucza prywatnego.

Klucz prywatny jak sama nazwa wskazuje nie powinien trafić w niepowołane ręce (zmienić uprawnienia chmod 600).

Podczas generowania kluczy zostaniemy zapytani o hasło (passphrase), która dodatkowo zabezpieczy klucz prywatny, jeśli trafi w niepowołane ręce.

 Konfiguracja serwera SSH

Warto sprawdzić plik /etc/ssh/sshd_config . Gdzie mamy wiele ciekaeych informacji:

a) ServerKeyBits 768 - długość klucza im wyższa tym trudniejsza do złamania – można użyć klucza od długości 2048B, choć 768 i tak będzie trudne do złamania.

b) PermitRootLogin yes – zabezpieczenie przed logowaniem na konto root

c) AllowUsers szkolnylug – zezwolenie użytkownikom i grupom na kożystanie z SSH

d) Port 22 – warto zmienić port na jakiś inny np.: 1456 – zabezpieczenie przed logowaniem niepowołanych osób. Wówczas logujemy się w ten sposób:

ssh szkolnylug@serwer.com -p 1456 

Logowanie bez hasła na serwer z obsługą SSH

Załóżmy, że mamy serwer do którego chcemy się logować bez wpisywania hasła za pomocą protokołu SSH. Cóż należy zrobić?

Tworzymy parę kluczy RSA (dla wersji 1.x SSH). Wersja SSH2 umożliwia użycie protokołu DSA.

Używamy do tego polecenia: ssh-keygen

szkolnylug@szkolnylug-desktop:~$ ssh-keygen

Generating public/private rsa key pair. (utworzenie pary kluczy publicznego i prywatnego)

Enter file in which to save the key (/home/szkolnylug/.ssh/id_rsa): //nazwa dla plików publicznego i prywatnego

Enter passphrase (empty for no passphrase): //zabezpieczenie hasłem pary kluczy

Enter same passphrase again:

Your identification has been saved in /home/szkolnylug/.ssh/id_rsa. //klucz prywatny

Your public key has been saved in /home/szkolnylug/.ssh/id_rsa.pub. //klucz publiczny

The key fingerprint is: //odcisk palca

fc:dd:3b:00:2a:5a:fe:ba:a9:b3:f2:bf:9f:5a:0f:d9 szkolnylug@szkolnylug-desktop

The key's randomart image is:

+--[ RSA 2048]----+

| |

| o . |

| + o |

| .. o |

| S o |

| . .o+ |

| ..+.E |

| . . .o o.. |

| o+=*=+.o. |

+-----------------+

 Odcisk palca to swoista wizytówka serwera. Jeżeli będziemy się logować pierwszy raz na dany serwer zostaniemy zapytani czy ten odcisk ma być zapisany do bazy innych znanych hostów, gdzie przechowywane klucze publiczne.

Baza ta znajduje się w katalogu domowym ~/.ssh/known_hosts.

Jeżeli na przykład przeinstalowaliśmy serwer lub wygenerowaliśmy nowy klucz publiczny to odcisk będzie zupełnie inny. Dlatego należy wykasować stary wpis lub wykasować plik ~/.ssh/known_hosts aby umożliwić autoryzację.

 No dobrze. Teraz po wygenerowaniu pary kluczy zmieniamy uprawnienia dostępu do klucza prywatnego:

 

chmod 600 ~/.ssh/id_rsa

Tworzymy klucz publiczny, który będzie kopią oryginału.

cat id_rsa.pub >> authorized_keys

Przesyłamy plik authorized_keys na serwer, lub prosimy admina aby umieścił klucz publiczny w katalogu ~/.ssh.

Można to wykonać za pomocą polecenia do kopiowania w protokole SSH – scp.

np.:

scp ~/.ssh/authorized_keys szkolnylug@serwer.com:~/.ssh/

Od tej pory po zalogowaniu

ssh szkolnylug@serwer.com

i wpisaniu pierwszy raz hasła możemy zapomnieć o kolejnym wpisywaniu haseł aby dostać się na nasze konto.

Tworzenie kluczy DSA i RSA

Jeszcze raz powtórzę spoby generowania kluczy. Jak pisałem aby wygenerować klucz należy użyć polecenia ssh-keygen. Aby wygenerować parę kluczy obsługiwane przez SSH1 trzeba utworzyć klucze algorymem RSA, SSH2 akceptuje algorytmy RSA i DSA.

Generowanie kluczy:

ssh-keygen -t rsa

lub

ssh-keygen -t dsa

Zmiana hasła klucza publicznego

Jeśli chcemy zmienić hasło chroniące klucz prywatny (passphrase) należy użyć polecenia ssh-keygen z parametrami:

sh-keygen -p -f ~/.ssh/id_rsa

Kopiowanie plików w trybie interaktywnym, polega na tym, że nie logujemy się na serwerze a jedyne co robimy to kopiujemy plik o określonej ścieżce z serwera na komputer stacjonarny.

Kopiowanie plików za pomocą SCP

Można użyć do tego wspomnianego: scp ale także szyfrowanego przesyłu FTP → sFTP

Rozważmy 2 sytuacje: 1. kopiowanie na serwer i 2. kopiowanie z serwera

>ad 1. scp ~/Pulpit/stona_www/index.html szkolnylug@serwer.com:/var/www/strona_www/

>ad 2. scp szkolnylug@serwer.com:/var/www/strona_www/index.html ~/Pulpit/stona_www/

Ciekawe opcje SCP:

    -a włączanie statystyk dla każdego pliku

    -A wyłączanie statystyk dla każdego pliku

    -C włącza kompresję

    -r kopiuje rekursywnie całe katalogi

    -v tryb verbose – dodatkowych komunikatów

 

Kopiowanie katalogów przy pomocy SCP

scp -r ~/Pulpit/stona_www/ szkolnylug@serwer.com:/var/www/

 Kopiowanie za pomocą sFTP

Za pomocą sftp możemy podobnie korzystać jak w przypadku scp.

Przykład użycia:

szkolnylug@szkolnylug-desktop:~$ sftp szkolnylug@serwer.com.pl:plik.txt

Connecting to serwer.com...

Fetching /home/szkolnylug/plik.txt to plik.txt

 

Za pomocą SSH można utworzyć szyfrowany tunel, za pomocą którego można przesyłać dane, odbierać pocztę itp.

 Jak to zrobić? Będziecie musieli troszeczkę poczekać na następny artykuł.

  • Zaloguj się lub utwórz konto, by odpowiadać