SSH - Google

SSH

Z Wikipedii

(Przekierowano z Secure Shell)
Skocz do: nawigacji, szukaj

SSH (ang. secure shell) to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP-IP, w architekturze klient-serwer. W ścisłym znaczeniu SSH to tylko następca protokołu Telnet, służącego do terminalowego łączenia się ze zdalnymi komputerami. SSH różni się od Telnetu tym, że transfer wszelkich danych jest zaszyfrowany oraz możliwe jest rozpoznawanie użytkownika na wiele różnych sposobów. W szerszym znaczeniu SSH to wspólna nazwa dla całej rodziny protokołów, nie tylko terminalowych, lecz także służących do przesyłania plików (SCP, SFTP), zdalnej kontroli zasobów, tunelowania i wielu innych zastosowań. Wspólną cechą wszystkich tych protokołów jest identyczna z SSH technika szyfrowania danych i rozpoznawania użytkownika. Obecnie protokoły z rodziny SSH praktycznie wyparły wszystkie inne "bezpieczne" protokoły, takie, jak np. Rlogin czy RSH.

Ogólne założenia protokołu SSH powstały w grupie roboczej IETF. W użyciu są obie jego wersje - 1 i 2. W wersji 2 możliwe jest użycie dowolnych sposobów szyfrowania danych i 4 różnych sposobów rozpoznawania użytkownika, podczas gdy SSH1 obsługiwało tylko stałą listę kilku sposobów szyfrowania i 2 sposoby rozpoznawania użytkownika (klucz RSA i zwykłe hasło). Stosowanie wersji 1 jest obecnie stanowczo odradzane ze względu na ujawnione podatności na ataki man-in-the-middle, czyniące korzyści ze stosowania protokołu znikomymi.

Najczęściej stosowany sposób szyfrowania to AES, choć część serwerów nadal używa szyfrowania Blowfish i technik z rodziny DES.

Rozpoznawanie użytkownika może się opierać na tradycyjnym pytaniu o hasło, klucz (RSA, DSA) lub z użyciem protokołu Kerberos.

Trzy najbardziej znane implementacje SSH to zamknięte ssh.com, OpenSource'owe OpenSSH oraz wersja protokołu stosowana w programie PuTTY.

Protokoły z rodziny SSH korzystają zwykle z portu 22 protokołu TCP, choć często stosuje się porty o innych numerach w celu zwiększenia bezpieczeństwa serwera. Sama rodzina SSH znajduje się w warstwie aplikacji modelu OSI, ale do połączenia korzysta z protokołu TCP.

Spis treści

[edytuj] Składnia (Linux)

Składnia ssh (FC4):

    ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
        [-D port] [-e escape_char] [-F configfile] [-i identity_file] 
        [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
        [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] 
        [-S ctl_path] [user@]hostname [command]

Składnia sshd (FC4):

    sshd [-46Ddeiqt] [-b bits] [-f config_file] [-g login_grace_time]
         [-h host_key_file] [-k key_gen_time] [-o option] [-p port] [-u len]

[edytuj] Przykładowe użycie

Aby połączyć się ze zdalnym komputerem wystarczy wydać polecenie:

ssh login@host

opcjonalnie można podać numer portu:

ssh login@host -p <port>

np:

ssh uzytkownik@217.120.10.10 -p 80

Aby włączyć tunelowanie należy użyć składni:

ssh -L 8888:localhost:80 uzytkownik@217.120.10.10

Aby przetunelować sesję protokołu X należy wykonać polecenie:

ssh -X login@host

[edytuj] Konfiguracja serwera SSH (Unix)

Serwer SSH w systemach Unix konfiguruje się poprzez plik sshd_conf, który przeważnie znajduje się w katalogu /etc/ssh/ i tylko użytkownik root może go modyfikować. Jeśli SSH było instalowane ze źródeł, plik może znajdować się w innym miejscu. W pliku tym podaje się funkcje i ich parametry (elementy wybrane):

  • PermitRootLogin (yes, no) - Zezwala na użycie użytkownika root.
  • Protocol (1,2) - Rodzaj wersji protokoÅ‚u SSH
  • Port 3334 - Nr portu, na którym nasÅ‚uchuje serwer SSH
  • RhostsAuthentication (yes, no) - OkreÅ›la, czy SSH ignoruje $HOME/.ssh/known_hosts użytkownika
  • IgnoreRhosts (yes, no)
  • RhostsRSAAuthentication (no, yes)
  • IgnoreUserKnownHosts (no, yes)
  • PasswordAuthentication (yes, no)
  • PermitEmptyPasswords (no, yes) - Zezwala na użycie pustych haseÅ‚.
  • ChallengeResponseAuthentication (yes, no)
  • KerberosAuthentication (no, yes)
  • KerberosOrLocalPasswd (yes, no)
  • KerberosTicketCleanup (yes, no)
  • AFSTokenPassing (yes, no)
  • KerberosTgtPassing (yes, no)
  • PAMAuthenticationViaKbdInt (yes, no)
  • X11Forwarding (yes, no) - Zezwala na połączenia z serwerem X11.
  • X11DisplayOffset 10
  • X11UseLocalhost (yes, no)
  • PrintMotd (yes, no) - Włącza lub wyłącza wyÅ›wietlanie pliku /etc/motd po zalogowaniu.
  • PrintLastLog (yes, no) - Włącza pokazywanie czasu ostatniego logowania.
  • KeepAlive (yes, no) - Konfiguruje wysyÅ‚anie pakietów TCP "keepalive" do klienta w celu stwierdzenia jego aktywnoÅ›ci.
  • UseLogin (yes, no)>
  • UsePrivilegeSeparation (yes, no)
  • Compression (yes, no) - Ustawia kompresjÄ™ danych
  • MaxStartups 10 - Liczba niepowodzeÅ„ logowania przed rozłączeniem z serwerem
  • Banner /some/path - Å›cieżka do pliku z informacjami wyÅ›wietlanymi po połączeniu
  • VerifyReverseMapping (yes, no)
  • Subsystem sftp /usr/lib/ssh/sftp-server

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne


Nanokable w kształcie drzewa
Nanokable utworzone z siarki oraz chlorku ołowiu samoczynnie przybierają trójwymiarową formę, która do złudzenia przypomina drzewa iglaste (np. znane wszystkim sosny).
Książe Karol apeluje o nie wycinanie lasów
Następca brytyjskiego tronu książę Karol zaapelował, by nie wycinać lasów tropikalnych. Książę Karol podkreślił, że to najlepszy sposób walki ze zmianami klimatu.
Bioróżnorodność świata obniżyła się o jedną trzecią
Bioróżnorodność na świecie obniżyła się prawie o jedną trzecią w ciągu ostatnich 35 lat, głównie z powodu kurczenia się środowiska naturalnego oraz handlu dzikimi zwierzętami.
USA będą chronić białe niedźwiedzie
Rząd USA ogłosił decyzję o objęciu ochroną białych niedźwiedzi w Arktyce, jako gatunku zagrożonego wymarciem ze względu na postępujące ocieplenie klimatu.
Najstarsze popiersie Cezara odnalezione
Francuscy archeolodzy poinformowali o znalezieniu najstarszego znanego popiersia Juliusza Cezara. Rzeźba została wyłowiona z dna Rodanu na południu kraju.
Linki: Strona g³ówna