Перейти до основного контенту

Як дозволити доступ SSH в Linux: простий і детальний гайд

11 хв читання
341 переглядів

SSH (Secure Shell) - це протокол безпечної віддаленої роботи з операційною системою. Він забезпечує захищене підключення та передачу даних між двома віддаленими комп'ютерами, а також дозволяє виконувати команди на віддаленому комп'ютері через Інтернет. Цей протокол широко використовується в Linux-системах, де забезпечує захищене управління серверами і віддаленими комп'ютерами.

Щоб дозволити доступ SSH до Linux, потрібно виконати кілька кроків. По-перше, потрібно встановити SSH-сервер на віддалений пристрій. По-друге, слід налаштувати правила брандмауера для дозволу вхідних SSH-підключень. Нарешті, потрібно створити і налаштувати SSH-ключі для аутентифікації і захисту підключень.

Підключення до віддаленого пристрою по SSH є більш безпечним в порівнянні зі звичайним підключенням через протокол Telnet, так як SSH шифрує передану інформацію і вимагає аутентифікації при підключенні. Цей гайд пропонує покрокову інструкцію з дозволу доступу по SSH в Linux і допоможе вам налаштувати захищене віддалене управління своїми пристроями.

Як дозволити доступ SSH на Linux

Щоб дозволити доступ SSH до Linux, виконайте наступні кроки:

КрокОпис
1Встановіть пакет OpenSSH, якщо його ще немає на вашому комп'ютері. Виконайте команду:
sudo apt-get install openssh-server
2Перевірте стан служби SSH. Виконайте команду:
sudo service ssh status
3Якщо служба SSH не запущена, запустіть її. Виконайте команду:
sudo service ssh start
4Налаштуйте firewall, щоб дозволити вхідні З'ЄДНАННЯ SSH. Виконайте команду:
sudo ufw allow ssh

Після виконання цих кроків доступ до SSH буде дозволено на вашому Комп'ютері Linux. Ви зможете віддалено SSH на свій сервер.

Встановлення пакета SSH

Перш ніж ми почнемо налаштовувати доступ до SSH, нам потрібно переконатися, що на нашому сервері Linux встановлений пакет SSH.

Щоб встановити пакет SSH на більшості дистрибутивів Linux, потрібно виконати таку команду:

Debian та Ubuntu:sudo apt-get install openssh-server
Fedora:sudo dnf install openssh-server
CentOS:sudo yum install openssh-server

Після введення команди система може запитати ваш пароль адміністратора. Введіть пароль і натисніть Enter, щоб продовжити встановлення.

Встановлення пакета SSH може зайняти деякий час, особливо якщо серверу потрібно завантажити додаткові пакети. Після закінчення установки ви побачите повідомлення про успішне завершення.

Тепер, коли пакет SSH встановлений на вашому сервері, ви готові розпочати налаштування та дозвіл SSH.

Генерація SSH-ключів

Для генерації SSH-ключів в Linux можна використовувати команду ssh-keygen. Дана команда генерує пару ключів-відкритий і закритий. Відкритий ключ копіюється на сервер, а приватний ключ зберігається на локальній машині.

Щоб створити нову пару ключів, виконайте таку команду:

ssh-keygen -t rsa -b 4096

Ця команда вказує на використання алгоритму RSA та довжини ключа 4096 біт. Ви також можете вибрати інші алгоритми та довжини ключів, якщо це потрібно.

Після виконання команди, система запросить вас ввести шлях для збереження ключів. За замовчуванням ключі зберігаються в директорію ~/.ssh. Ви також можете вказати інший шлях, якщо вам зручніше.

Тепер у вас є пара ключів - відкритий і закритий. Відкритий ключ має розширення .pub. Щоб скопіювати відкритий ключ на сервер, скористайтеся командою ssh-copy-id:

Замінивши username на ім'я користувача на сервері і remote_host на адресу віддаленого сервера. Після виконання цієї команди відкритий ключ буде скопійовано на сервер і додано до файлу ~/.ssh/authorized_keys. Тепер ви зможете підключитися до сервера без введення пароля, використовуючи закритий ключ.

Генерація SSH-ключів є важливим кроком для забезпечення безпеки при підключенні до віддаленого сервера. Переконайтеся, що ви зберігаєте приватний ключ у безпечному місці та не передаєте його нікому.

Копіювання публічного ключа на сервер

  • Відкрийте термінал на локальній машині.
  • У командному рядку введіть команду:

Замінивши [користувач@]хост на ім'я користувача та адресу сервера, до якого ви хочете отримати доступ.

Термінал попросить вас ввести пароль користувача на сервері. Введіть пароль і натисніть Enter.

Після успішного введення пароля, ваш публічний ключ буде скопійований на сервер і доданий в файл ~/.ssh/authorized_keys . Цей файл містить список ключів, які можуть бути використані для аутентифікації при підключенні по SSH.

Тепер ви можете закрити термінал на вашій локальній машині і приступити до підключення до сервера по SSH, використовуючи ваш приватний ключ.

Налаштування сервера для дозволу З'ЄДНАНЬ SSH

Перш ніж почати дозволяти SSH-доступ на сервері, переконайтеся, що у вас встановлений і запущений сервер SSH. Зазвичай він уже встановлений за замовчуванням у більшості дистрибутивів Linux. Якщо у вас його немає, встановіть його за допомогою команди:

sudo apt-get install openssh-server

Після установки SSH-сервера необхідно перевірити стан його служби. Для цього введіть команду:

systemctl status sshd

Якщо служба працює, ви побачите відповідне повідомлення про це. Якщо послугу зупинено, вам потрібно запустити її командою:

sudo systemctl start sshd

Тепер, коли сервер SSH встановлений і працює, перевірте, чи доступний він з вашого віддаленого комп'ютера. Для цього введіть команду:

ssh username@your_server_ip_address

Замініть username на своє ім'я користувача на сервері та your_server_ip_address на IP-адресу вашого сервера.

Якщо у вас виникли проблеми з підключенням, переконайтеся, що на сервері відкрито порт 22 у фаєрволі. Ви можете відкрити його командою:

sudo ufw allow 22

Тепер, коли ви переконалися, що SSH-сервер доступний і працює, можна приступити до його налаштування для підвищення безпеки.

Перше, що слід зробити - це змінити стандартний порт SSH з 22 на інший. Для цього відкрийте файл налаштувань sshd_config за допомогою текстового редактора:

sudo nano /etc/ssh/sshd_config

Знайдіть рядок з портом (за замовчуванням Port 22) і змініть значення порту на будь-яке інше, наприклад, 2222. Збережіть змінений файл і перезапустіть службу SSH командою:

sudo systemctl restart sshd

Тепер ви можете підключитися до сервера за допомогою нового порту:

ssh -p 2222 username@your_server_ip_address

Ще одна корисна настройка безпеки-це Відключення доступу до сервера по паролю і дозвіл Тільки ключовий аутентифікації. Для цього знайдіть рядок з параметром PasswordAuthentication і змініть його значення на no:

PasswordAuthentication no

Також переконайтеся, що параметр PubkeyAuthentication має значення yes:

PubkeyAuthentication yes

Збережіть зміни та перезапустіть службу SSH.

Це лише деякі з можливих налаштувань сервера SSH. Є й інші параметри, які можна змінити для підвищення безпеки сервера. Кожен з них має свої особливості і вимагає уважного вивчення перед внесенням змін.

Після внесення всіх необхідних налаштувань нікому не рекомендується підключатися до сервера по SSH з використанням пароля. Рекомендується створити та використовувати ключі SSH для безпечного підключення до сервера. Це додасть додатковий рівень захисту до вашої системи.

Перевірка підключення до сервера по SSH

Після налаштування доступу SSH на сервері потрібно перевірити, чи працює підключення. Для цього можна скористатися командою ssh в терміналі. Приклад команди:

КомандаОпис
ssh username@server_addressПідключення до сервера за вказаною адресою з використанням вказаного імені користувача

Замініть username на ім'я вашого користувача та server_address на IP-адресу або доменне ім'я сервера. При виконанні команди вам може бути запропоновано підтвердити підключення, введіть " yes " і натисніть Enter.

Якщо всі налаштування SSH вірні, і з'єднання встановлено успішно, ви побачите запрошення до введення пароля від вашого облікового запису на сервері. Введіть пароль і натисніть Enter.

Якщо вхід на сервер був успішним, ви побачите підказку командного рядка сервера. Це означає, що з'єднання встановлено і доступ до SSH працює.

Налаштування безпеки доступу SSH

Ось кілька основних кроків, які можна зробити для налаштування безпеки доступу SSH:

  1. Змініть порт SSH: за замовчуванням SSH використовує порт 22, який є добре відомим і часто піддається атакам. Рекомендується змінити порт на більш високий, нестандартний номер порту.
  2. Обмежте доступ лише для певних користувачів: можна налаштувати SSH таким чином, щоб лише певні користувачі мали доступ до системи через SSH. Це можна зробити, додавши дозволені користувачі до файлу / etc/ssh / sshd_config .
  3. Використовуйте ключі SSH замість паролів: використання ключів SSH замість паролів підвищує безпеку, оскільки Ключі важче скомпрометувати. Для використання ключів SSH, необхідно згенерувати ключову пару, що складається з закритого і відкритого ключа.
  4. Встановіть обмеження на кількість спроб входу: можна обмежити максимальну кількість спроб логіна по SSH. Наприклад, якщо хтось використовує неправильний пароль кілька разів, його IP-адреса буде тимчасово заблокована.
  5. Оновіть сервер SSH та операційну систему: важливо регулярно оновлювати сервер SSH та операційну систему, щоб усунути відомі вразливості та забезпечити безпеку.

Дотримуючись цих заходів безпеки, ви можете значно зменшити ризик несанкціонованого доступу та забезпечити безпеку доступу SSH.

Зміна порту SSH

Щоб змінити порт SSH в Linux, Виконайте ці кроки:

  1. Відкрийте термінал або підключіться до сервера через SSH.
  2. Відредагуйте файл конфігурації SSH "/ etc/ssh / sshd_config" за допомогою текстового редактора. Наприклад, в Ubuntu ви можете використовувати команду:
sudo nano /etc/ssh/sshd_config

Зверніть увагу, що для редагування файлу потрібні права адміністратора (root).

  1. Знайдіть рядок, що містить порт SSH (зазвичай це рядок " #Port 22 "). Розкоментуйте цей рядок, видаливши символ # на початку рядка, і замініть "22" на новий порт, який ви хочете використовувати.
  2. Збережіть зміни та закрийте файл.
  3. Перезапустіть службу SSH, щоб застосувати зміни конфігурації. В Ubuntu ви можете використовувати команду:
sudo systemctl restart ssh

Тепер SSH буде слухати вказаний Вами порт. Якщо ви використовуєте брандмауер, не забудьте налаштувати його, щоб пропускати трафік через новий порт SSH.

Після зміни порту SSH, його старий порт (порт 22 за замовчуванням) може бути використаний зловмисниками для спроб злому. Тому, зміна порту SSH-одна з найпростіших, але ефективних заходів безпеки для захисту сервера від атак.