Yandex
Обновяване на предпочитанията за бисквитки

SSH и неговите основни команди

Програмисти, системни администратори, разработчици на Devops и тестери често намират общ език, като използват едни и същи технологии. Например възможността за отдалечен достъп до даден сървър може да бъде полезна за всеки от гореспоменатите специалисти. Нека разгледаме основните принципи на работа с протокола SSH на просто ниво (без излишни подробности и сложни термини).
 

Как работи SSH

SSH (Secure SHell) е средство за сигурен достъп до различни системи (Linux, Windows, Mac) в мрежа. То е създадено, за да замени некриптирания Telnet. Той защитава предаваната информация с помощта на криптиране и обикновено работи на порт 22. SSH ви позволява да управлявате отдалечено потребителските данни на сървъра, да изпълнявате сервизни задачи и да работите с бази данни чрез конзолен интерфейс.
 

Какви методи за проверка на връзката използва SSH

  • По IP адреса на клиента, но това не е най-сигурният метод поради възможността за подмяна на адреса.
  • Чрез публичния ключ и потребителското име на клиента. За целта трябва да бъдат създадени частен (private) и публичен (public) ключ. Като се използва един ключ за криптиране на информация, тя може да бъде декриптирана само с друг ключ.
  • Чрез паролата на клиента, която се предава в криптиран вид. Този метод е един от най-разпространените, но изисква въвеждането на парола при всяко осъществяване на връзка.
За да получите достъп до протокола SSH (влизане в конзолата на сървъра) от операционната система Windows, трябва да инсталирате специален софтуер (SSH-клиент), например безплатния PuTTY.
 

SSH сървър и SSH клиент

За установяване на SSH връзка са необходими два основни елемента: SSH сървър и SSH клиент. Сървърът слуша на определен порт (стандартно 22) и предоставя достъп на потребителя след успешно удостоверяване. Всички команди, изпратени по защитен канал към SSH сървъра от SSH клиента чрез терминал, се изпълняват на сървъра и резултатът се изпраща обратно на клиента.
 

Избор от няколко опции

Клиентът SSH се използва за достъп до отдалечен уеб сървър и за изпълнение на различни команди. SSH клиентите са налични за всички операционни системи. Съществуват както платени, така и безплатни варианти.
  • За Linux/BSD се препоръчва използването на openssh-client, putty, ssh, Vinagre.
  • За потребителите на Windows са подходящи програми като PuTTY, SecureCRT, ShellGuard. Windows SSH клиентът, базиран на OpenSSH, вече е инсталиран в операционните системи Windows от версия 10 1809.
  • На мобилни устройства с Android можете да използвате приложението connectBot.
 

SSH команди - какво представляват те с прости думи

SSH достъпът обикновено се използва, когато е необходимо да се наеме специален сървър или специализиран хостинг за уебсайтове, главно на VIP тарифи, както и при наемане на виртуален сървър.
Нека си представим, че живеете в София, а клиент от Бургас има "счупен" онлайн магазин, който е хостван на неговия сървър. Какво да направите в такава ситуация?
Има няколко възможности.
  • Можете да отпътувате за друг град и да решите проблема на място, но това отнема много време и усилия.
  • Свържете се със сървъра дистанционно чрез SSH, отстранете грешките чрез командния ред, без да ставате от удобния фотьойл в бизнес център в София.
SSH работи по защитен мрежов протокол за изпращане на команди и данни. Когато комуникирате с отдалечен сървър или компютър чрез SSH, това е все едно да свържете клавиатурата си към него. Можете да стартирате програми, да извършвате действия чрез команден ред от разстояние от уюта на дома си.
 

Какви команди могат да се изпълняват през SSH

  • Конфигуриране на сървърно оборудване.
  • Програмиране.
  • Инсталиране на различни CMS: WordPress, Bitrix, OpenCart.
  • Намиране и отстраняване на грешки в сайта.
  • Стартиране и спиране на програми.
  • Копиране, поставяне и преместване на файлове.
  • Конфигуриране на настройките за сигурност.
  • Рестартиране на сървъра.
  • Изтриване на файлове.
  • Форматиране на твърд диск.
  • Дистанционно стартиране на софтуер и отваряне на файлове.
Този списък не изчерпва всички функции на списъка с SSH команди, но ви позволява да разберете широк спектър от нюанси на работата със сървъра от разстояние.
 

Някои основни команди

  • Командата за показване на съдържанието на дадена директория е
    lsИзвежда списък на файловете и директориите в сървъра. Можете да използвате допълнителни опции, за да получите повече информация:
    l  - извежда информация за файловете: размер, дата на създаване, собственик и права;
    а  - позволява да се видят скритите файлове на сървъра и VPS.
  • Командата за създаване на директория е
    mkdirЗа да създадете нова директория, използвайте командата
    mkdirкато посочите името на папката с малки букви. След като я създадете, изпълнете
    lsза да проверите дали новата директория е създадена успешно.
  • Командата за промяна на директория е
    cdПросто въведете
    cd  и името на директорията, след което натиснете Enter. За да се върнете назад, използвайте
    cd ..
  • Командата за създаване на файл е
    touchСъздава нов файл в избраната директория. Навигирайте до желаната директория с
    cdслед което въведете
    touch  и името на файла.
  • Командата за копиране на файл -
    cpПосочете името на оригиналния файл и на новия файл.
  • Командата за изтриване на файл -
    rmИзтрива избрания файл или директория.
  • Командата за показване на текущата позиция -
    pwdПоказва текущата ви позиция във файловата система.
Този списък не изчерпва всички функции на списъка с SSH команди, но ви позволява да разберете широк спектър от нюанси на работата със сървъра от разстояние.
 

Други полезни команди

find  - намиране на файл,
php --version  - преглед на версията на PHP на сървъра,
w  - преглед на активните потребители на сървъра в момента,
df  - показване на информация за дисковете, дяловете и свободното пространство,
tar  - извличане на файлове от archive.tar в текущата директория или, напротив, архивирането им.
 

Основни команди за управление на информацията

  • clear  - чудесна команда за изчистване на предишните резултати от сесията на терминала, което помага да се съсредоточите по-добре върху текущата операция.
  • history  - преглед на историята на използваните команди. Тя може да се използва за многократно извикване на команди или за бързо намиране на предишни действия.
  • whatis  - незаменима команда за получаване на бърза справка за всяко инсталирано приложение. Просто въведете
    whatis  и името на приложението.
  • man  + името на пакета - чудесен начин да получите подробна документация за конкретно инсталирано приложение. Това ви позволява бързо да намерите информация за функциите на приложението, как да го използвате и за възможни проблеми.
 

Ефективно управление на протокола SSH

За удобно свързване с отдалечен компютър чрез SSH се препоръчват две важни опции.
  • ssh -pкоято ви позволява да замените порта по подразбиране 22 с друг порт. Това повишава сигурността и защитата срещу автоматизирани хакерски атаки от ботове.
  • ssh-copy-id -iкоято копира ключа на сървъра, което ви позволява да влезете в системата, без да въвеждате потребителско име и парола, а само с помощта на ключа.
Използвайте символи - текстови обяснения, които могат да бъдат много полезни.
  • ;  - използва се като разделител за изпълнение на няколко последователни команди.
  • &&  - подобно, но с важна разлика. Командите, комбинирани с &&, ще се изпълняват една по една само ако предишната команда е била успешна.
  • |  - позволява да се изпълняват две команди едновременно. Това е полезно, когато искате да извлечете информация от дадено приложение и след това да намерите определени данни в получения изход.
  • ~  - съкращение на /home/account name/. Често се среща в инструкции.
 

Резюме

С помощта на SSH командите можете да управлявате отдалечено файлове, да конфигурирате мрежови функции, настройки на сървъра и много други. SSH връзката се характеризира с интуитивен и прост интерфейс, както и с високо ниво на сигурност при прехвърляне на всякакви данни.
 
23 Apr 2024, 16:42:44