|
|||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
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.
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życieAby 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):
edytuj Zobacz teżedytuj Linki zewnętrzne
Warstwa aplikacji Warstwa transportowa Warstwa sieciowa Warstwa dostępu do sieci |
| All Right Reserved © 2007, Designed by Stylish Blog. |