33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Използвайте код:

BLACK33
BG40
Използвайте промоция
29.10.2024

Как да инсталирате и конфигурирате SSH

Инсталиране и защита на SSH на AlexHost VPS: Zero-Trust Setup в 2025

SSH = единствената ви врата към сървъра. Неправилно конфигуриран = хакнат за <5 мин. VPS на AlexHost с NVMe и DDoS защита ви дава достъп до root, 1 Gbps порт -перфектен за подсилено SSH. В тази статия ще ви преведем през инсталирането и конфигурирането на SSH в Linux, като покрием основите, опциите за конфигуриране и препоръките за сигурност.


Какво е SSH?

SSH е съкращение от Secure Shell и позволява на потребителите да се свързват сигурно с отдалечена система чрез интерфейс от команден ред. Протоколът криптира данните между клиента и сървъра, което го прави сигурен метод за комуникация, особено за достъп до сървъри през незащитена мрежа като интернет. SSH работи през порт 22 по подразбиране и може да се използва за

  • Отдалечено влизане в сървъри
  • Защитено прехвърляне на файлове (чрез SCP или SFTP)
  • Отдалечено изпълнение на команди
  • Пренасочване и тунелиране на портове

Стъпка 1: Инсталиране на SSH

Повечето дистрибуции на Linux идват с предварително инсталиран SSH, но ако не е инсталиран, можете лесно да го инсталирате с помощта на мениджъра на пакети за вашата дистрибуция

За Ubuntu/Debian:

sudo apt update sudo apt install openssh-server

За CentOS/RHEL:

sudo yum install openssh-server

За Fedora:

sudo dnf install openssh-server

За Arch Linux:

sudo pacman -S openssh

След инсталацията ще имате инсталиран сървър и клиент OpenSSH, което ще ви позволи както да използвате SSH сървър, така и да се свързвате с други SSH сървъри


Стъпка 2: Стартиране и активиране на услугата SSH

След като сте инсталирали, трябва да стартирате услугата SSH (известна също като sshd – SSH демон) и да я активирате да се изпълнява при стартиране на системата

Стартиране на услугата SSH:

sudo systemctl start ssh

Разрешаване на SSH да се стартира при стартиране на системата:

sudo systemctl enable ssh

Можете да проверите дали SSH работи правилно, като въведете

sudo systemctl status ssh

Ако услугата е стартирана, ще видите активен статус, който показва, че SSH е готов да приема връзки


Стъпка 3: Основна конфигурация на SSH

Поведението на SSH се контролира от конфигурационния файл, разположен на адрес

/etc/ssh/sshd_config

Можете да редактирате този файл, за да промените настройките на SSH, например да промените порта по подразбиране, да забраните влизането в root или да настроите удостоверяване на базата на ключове. За да редактирате файла, използвайте текстов редактор като nano или vim

sudo nano /etc/ssh/sshd_config

Някои често срещани промени в конфигурацията включват

1. Промяна на порта по подразбиране на SSH

От съображения за сигурност е добре да промените порта по подразбиране на SSH от 22 на друг. Това помага да се намали рискът от автоматични атаки, насочени към порта по подразбиране на SSH. Намерете следния ред в конфигурационния файл

#Порт 22

Разкоментирайте го и променете номера на порта

Порт 2222

След като запазите файла, рестартирайте SSH услугата, за да приложите промените

sudo systemctl restart ssh

Уверете се, че сте актуализирали правилата на защитната стена, за да разрешите връзките на новия порт

2. Деактивиране на влизането на главния потребител

Разрешаването на влизане в root системата чрез SSH представлява риск за сигурността. За да предотвратите това, намерете следния ред в конфигурационния файл

PermitRootLogin yes

Променете я на

PermitRootLogin no

Това ще предотврати директния достъп до root чрез SSH. Потребителите все пак могат да влязат в системата с обикновен акаунт и след това да преминат към root с помощта на sudo или su

3. Активиране на удостоверяване чрез ключ

Удостоверяването чрез SSH ключове е по-сигурен метод от използването на пароли. Това включва генериране на двойка SSH ключове (публичен и частен ключ) и използване на частния ключ за удостоверяване. За да наложите удостоверяване, базирано на ключове, намерете следните редове и се уверете, че те са настроени на yes

PubkeyAuthentication yes PasswordAuthentication no

Това деактивира влизането с парола и позволява достъп до SSH само чрез автентикация, базирана на ключове


Стъпка 4: Генериране на SSH ключове (удостоверяване на автентичността на базата на ключове)

Двойките SSH ключове осигуряват сигурен начин за влизане в системата без парола. Ето как да генерирате и настроите SSH ключове

Стъпка 1: Генериране на двойка SSH ключове

На локалната си машина изпълнете следната команда, за да генерирате двойка ключове

ssh-keygen -t rsa -b 4096

Ще бъдете подканени да въведете име на файла, в който да запишете ключа (или натиснете Enter, за да използвате местоположението по подразбиране), и незадължителна парола за допълнителна сигурност. Това създава два файла

  • ~/.ssh/id_rsa: Вашият частен ключ (пазете го на сигурно място и не го споделяйте).
  • ~/.ssh/id_rsa.pub: Вашият публичен ключ (той може да бъде споделен и добавен към отдалечени сървъри).

Стъпка 2: Копиране на публичния ключ на сървъра

За да използвате ключа за SSH вход, копирайте публичния ключ на отдалечения сървър, до който искате да получите достъп. Можете да направите това с командата ssh-copy-id

ssh-copy-id username@remote_host

Заменете username с потребителското име на отдалечения сървър и remote_host с IP адреса или името на сървъра. Това ще копира публичния ви ключ на сървъра и ще го добави към файла ~/.ssh/authorized_keys, което ще ви позволи да влезете без парола

Стъпка 3: Влезте в системата с помощта на SSH ключ

Сега можете да влезете в отдалечения сървър, като използвате частния си ключ

ssh username@remote_host

Ако сте задали потребителски порт, посочете го с опцията -p

ssh -p 2222 username@remote_host

Стъпка 5: Защита на SSH конфигурацията

След като настроите SSH, е важно да следвате най-добрите практики за сигурност, за да сте сигурни, че сървърът ви е защитен от неоторизиран достъп

1. Използвайте силни пароли (ако използвате удостоверяване с парола)

Ако не използвате удостоверяване на базата на ключове, уверете се, че всички потребителски акаунти използват силни, сложни пароли

2. Използвайте защитна стена

Уверете се, че защитната стена на сървъра ви позволява трафик само на порта SSH, който използвате. Например, ако сте променили SSH на порт 2222, разрешете трафика на този порт, като използвате ufw (в Ubuntu/Debian) или firewalld (в CentOS/RHEL)

sudo ufw allow 2222/tcp sudo ufw enable

3. Ограничаване на достъпа до SSH

Ограничете SSH достъпа до определени IP адреси или диапазони чрез конфигуриране на защитната стена или използване на /etc/hosts.allow и /etc/hosts.deny


Стъпка 6: Тестване и отстраняване на неизправности при SSH

След като конфигурирате SSH, е важно да тествате настройката си. Опитайте се да влезете в системата чрез SSH, за да се уверите, че всичко работи правилно

Общи съвети за отстраняване на проблеми със SSH:

  1. Проверете настройките на защитната стена: Уверете се, че защитната стена не блокира порта SSH.
  2. Проверете състоянието на SSH услугата: Уверете се, че услугата SSH работи, като използвате systemctl status ssh.
  3. Проверете конфигурацията: Проверете два пъти файла /etc/ssh/sshd_config за евентуални грешки в конфигурацията.
  4. Използвайте режим Verbose за отстраняване на грешки: Ако има проблеми, използвайте опцията -v при свързване, за да видите подробен изход:
ssh -v username@remote_host

Заключение

Инсталирането и конфигурирането на SSH е основно умение за всеки администратор или потребител на Linux, който трябва да управлява отдалечени системи по сигурен начин. Като следвате това ръководство, можете да настроите SSH, да го конфигурирате за сигурен достъп и да приложите най-добрите практики за защита на сървъра от неоторизиран достъп. Веднъж конфигуриран, SSH се превръща в мощен инструмент за отдалечено управление, автоматизация и сигурна комуникация между системите.

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Използвайте код:

BLACK33
BG40
Използвайте промоция