Въпреки че думите „шел“ и „компютърен терминал“ звучат като извадени от филма Матрицата, те не са толкова страшни, когато човек знае какво означават и за какво се използват. 🙂
За потребителите, любители на Linux базираните системи, работата с терминал и използването на команди в шела за управление и настройка на системата, е нещо нормално и не изглежда твърде трудно. Но за останалите, които никога не са използвали черния прозорец, идеята да пишат команди, вместо просто да кликат по иконките, изглежда неоправдана и не до там забавна.
SSH представлява две думи – Secure и Shell. Ще пропуснем обяснението за Secure и ще опишем какво е това Shell.
Какво е Shell?
В компютърните среди Shell (може да се преведе като обвивка, черупка) или „шел“, е програма, която действа като преводач между потребителя и операционната система. Тъй като шелът е най-външната обвивка на операционната система, затова е наречен просто „обвивка“ – „шел“.
Шелът предоставя интерфейс, чрез който потребителят може да въвежда команди, за да стартира и използва услугите на операционната система.
Шелът може да бъде:
При текстовите шелове потребителят въвежда командите чрез клавиатура в специален прозорец (терминал). При графичните шелове на потребителя не се налага да знае и изписва команди. Вместо това той ползва графични икони и визуални индикатори и така взаимодейства с операционната система.
При повечето Linux базирани системи по подразбиране за текстов шел се използва BASH (Bourne Again SHell), но има и други варианти като ksh, tcsh и zsh. При Windows базираните системи за текстов шел може да се ползва cmd.exe (Command Prompt) и Windows PowerShell.
Какво е шел скрипт (shell script)?
Стандартно в терминала е удобно да изписваме по една команда, към която можем да задаваме и допълнителни параметри.
Но е възможно да се изпълняват и цели серии от команди. За целта командите и параметрите им се подреждат една след друга в текстов файл, наречен шел скрипт (shell script), който след това се подава за изпълнение в терминала.
Използването на такива скриптове е удобно за автоматизиране на задачи или изпълнението на сложни операции, които иначе ще са трудни с ръчно изписване команда по команда.
Шел скриптовете може да се пишат на различни скриптови езици, в зависимост от операционната система и шела, който се използва. Някои от най-популярните скриптови езици са Bourne shell (sh), KornShell (ksh), GNU Bash (bash), tclsh, wish1. За BASH шела скриптовете се пишат на Bourne shell, а файловото им разширение е .sh.
Какво е Secure Shell (SSH)?
SSH (Secure Shell или сигурен шел) е мрежов протокол, който се ползва за сигурна връзка и достъп до шела на отдалечена машина. Връзката през SSH между двете приложения, SSH сървър и SSH клиент, се криптира, което предоставя високо ниво на защита и сигурност на предаваните данни.
SSH протоколът е създаден през 1995 г. от Тату Юленин в Техническия университет в Хелзинки, Финландия. Повод за създаването на този протокол е защита на университетската мрежа, подложена на изпитание малко по-рано същата година.
След появата си SSH бързо става заместител на тогава използваните несигурни протоколи за връзка като telnet, rlogin, rsh, rcp и други. Последната и най-използвана версия на протокола е SSH-2.
SSH е най-разпространеният метод за достъп до сървъри с Linux базирана система, като виртуалните сървъри (VPS).
Освен за отдалечено управление и изпълняване на команди, през SSH могат да се прехвърлят и файлове, като се ползват протоколите SFTP (SSH File Transfer Protocol) или SCP (Secure copy).
Какво можете да правите през SSH?
Текстовият шел предлага повече възможности за по-прецизно управление и настройка, отколкото графичният интерфейс. Причината за това е, че не абсолютно всички команди и действия в системата могат да присъстват в графичния интерфейс.
Шелът се ползва уеб разработчиците и от системните администратори за управление и настройки на сървърите и сървърните приложения.
Ето само някои от действията, които можете да извършите през SSH достъп:
- Ползване на Git клиент в хостинг акаунта
- Работа с MySQL базите данни
- Управление на CMS – WordPress, Drupal
- Проверка на процесите, които са стартирани
- Компресиране и архивиране на директории и файлове
При услугата VPS разполагате с основния административен потребител на системата – root. С този потребител имате пълни права в шела за управление на сървъра и освен посочените по-горе действия, ще можете да инсталирате и конфигурирате сървърни приложения, да извършвате промени по системните настройки и много други. При SSH достъп до акаунт на споделен хостинг се използва потребителят за cPanel, като това не е основният административен потребител за системата.
Какви SSH клиенти има?
Според операционната система, която ползвате на Вашия компютър, можете да изберете различни софтуерни решения или SSH клиенти.
Стандартно *nix потребителите (включително Linux и Mac OS) могат да използват вградения SSH клиент (OpenSSH) директно през терминала на системата им. Например, за да се свържат през SSH с отдалечен сървър, може да използват командата:
ssh user@vps-ip-address -p vps-port
Windows потребителите обаче ще трябва да инсталират допълнително приложение – SSH клиент. Един от най-известните SSH клиенти за Windows е PuTTY. Ако имате повече сървъри, до които осъществявате SSH достъп, може да ползвате табове за различните SSH сесии (пробвайте MTPuTTY).
Първата среща с терминала
Това, което препоръчваме, е да не се поддавате на страха от непознатото и да тествате. Всички команди, които можете да ползвате в терминала, могат да се намерят в помощни сайтове в интернет например Linux commands.
Вижте още: Основни SSH команди (хостинг акаунт) | Help
Ето няколко прости команди, с които да си пробиете път в страшния, черен прозорец:
pwd
(изписва директорията, в която се намирате в момента)
Когато работите с терминала и смените директориите няколко пъти, може да се загубите. С тази команда ще видите името и пътя на директорията, в която работите в момента.
ls -al
(показва съдържанието на директорията, в която се намирате)
Тази команда е подобна на командата dir в MS-DOS. Към ls са добавени опциите -l и -a, с които списъкът ще съдържа допълнителна информация и ще се показват файловете с имена, започващи с точка . .
mkdir
(създаване на нова директория)
С тази команда можете да създадете нова директория. Например mkdir imenadir
ще създаде нова директория с име imenadir
.
Съвет от support-а: Достъпът до хостинг акаунта или виртуалния сървър през SSH е един от най-сигурните (сравнен с FTP достъпа и този през уеб). За още по-голяма сигурност препоръчваме достъпа до хостинг акаунта през SSH с ключ.
Интересно: Ето една команда (на приложение за анализ на мрежата) от реалния свят, която се ползва в няколко филма като Матрицата: Презареждане, Умирай трудно 4, Ултиматумът на Борн, Елизиум и други.