SSH (ang. Secure Shell) to szyfrowany protokół komunikacyjny używany w sieciach TCP/IP (ang. Transmission Control Protocol/Internet Protocol). Umożliwia zdalne połączenie z serwerem. Dostęp do konsol systemowych przez SSH obecnie oferuje większość hostingodawców. Secure Shell jest następcą nieszyfrowanego protokołu telnet.
W powszechnym użyciu są dwie wersje protokołu SSH – 1 i 2. Wersja druga umożliwia dowolne użycie sposobów szyfrowania danych i aż czterech różnych sposobów uwierzytelniania. Wersja pierwsza pozwala jedynie obsługę kilku sposobów szyfrowania i dwóch sposobów rozpoznawania użytkownika (przy pomocy zwykłego hasła i klucza RSA – najpopularniejszego, asymetrycznego algorytmu kryptograficznego z kluczem publicznym).
Do czego wykorzystuje się protokół SSH?
Protokół SSH umożliwia zdalne połączenie z serwerem i dostęp do jego powłoki systemowej (nazywanej niekiedy konsolą lub terminalem). W przypadku dystrybucji GNU/Linux domyślnym terminalem jest /bin/bash. Dzięki dostępowi do konsoli można m.in. zarządzać serwerem, tworzyć, przenosić i zmieniać uprawnienia plikom czy katalogom. Ponadto powłoka systemowa pozwala na pakowanie i rozpakowywanie archiwów.
Dostęp do konsol systemowych przez protokół SSH oferuje większość hostingodawców, najczęściej w ramach usług:
- Serwery Cloud,
- Serwery dedykowane,
- Serwery VPS,
- Klasyczny hosting.
Niektórzy dostawcy w ramach klasycznego hostingu oferują ograniczony dostęp do terminalu, bez opcji np. instalacji, dodawania narzędzi czy też edytowania systemowych plików. W większości jednak usług m.in. serwerów VPS czy chmury, otrzymuje się pełny dostęp do konta tzw. root, które pozwala według uznania, dodawać i modyfikować narzędzia oraz pliki.
Najpopularniejsze polecenia powłoki systemów GNU/Linux
Z punktu widzenia użytkownika, najpopularniejszymi i najbardziej użytecznymi poleceniami powłoki systemów GNU/Linux są:
- chmod – pozwala zmienić uprawnienia (m.in. odczytywania, zapisywania i wykonywania) wybranego pliku bądź katalogu,
- chmod-r – umożliwia zmianę uprawnień do wszystkich plików i katalogów znajdujących się na serwerze,
- file – określa typ plików,
- mv – umożliwia przenoszenie plików,
- rm – pozwala usunąć pliki,
- cd – zmienia katalogi,
- pwd – wyświetla aktualnie dostępny katalog,
- ls – umożliwia listowanie plików i katalogów,
- mkdir – tworzy katalog,
- cat – wyświetla zawartość plików,
- find – pozwala wyszukać pliki po nazwie,
- tail – wyświetla ostatnie linijki plików,
- unzip – rozpakowuje archiwa ZIP,
- tar – tworzy archiwa,
- mc (midnight commander) – otwiera dwupanelowy menadżer plików,
- nano – włącza prosty, konsolowy edytor tekstów,
- find – umożliwia wyszukiwanie plików po nazwie.