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:
- Змініть порт SSH: за замовчуванням SSH використовує порт 22, який є добре відомим і часто піддається атакам. Рекомендується змінити порт на більш високий, нестандартний номер порту.
- Обмежте доступ лише для певних користувачів: можна налаштувати SSH таким чином, щоб лише певні користувачі мали доступ до системи через SSH. Це можна зробити, додавши дозволені користувачі до файлу / etc/ssh / sshd_config .
- Використовуйте ключі SSH замість паролів: використання ключів SSH замість паролів підвищує безпеку, оскільки Ключі важче скомпрометувати. Для використання ключів SSH, необхідно згенерувати ключову пару, що складається з закритого і відкритого ключа.
- Встановіть обмеження на кількість спроб входу: можна обмежити максимальну кількість спроб логіна по SSH. Наприклад, якщо хтось використовує неправильний пароль кілька разів, його IP-адреса буде тимчасово заблокована.
- Оновіть сервер SSH та операційну систему: важливо регулярно оновлювати сервер SSH та операційну систему, щоб усунути відомі вразливості та забезпечити безпеку.
Дотримуючись цих заходів безпеки, ви можете значно зменшити ризик несанкціонованого доступу та забезпечити безпеку доступу SSH.
Зміна порту SSH
Щоб змінити порт SSH в Linux, Виконайте ці кроки:
- Відкрийте термінал або підключіться до сервера через SSH.
- Відредагуйте файл конфігурації SSH "/ etc/ssh / sshd_config" за допомогою текстового редактора. Наприклад, в Ubuntu ви можете використовувати команду:
sudo nano /etc/ssh/sshd_config
Зверніть увагу, що для редагування файлу потрібні права адміністратора (root).
- Знайдіть рядок, що містить порт SSH (зазвичай це рядок " #Port 22 "). Розкоментуйте цей рядок, видаливши символ # на початку рядка, і замініть "22" на новий порт, який ви хочете використовувати.
- Збережіть зміни та закрийте файл.
- Перезапустіть службу SSH, щоб застосувати зміни конфігурації. В Ubuntu ви можете використовувати команду:
sudo systemctl restart ssh
Тепер SSH буде слухати вказаний Вами порт. Якщо ви використовуєте брандмауер, не забудьте налаштувати його, щоб пропускати трафік через новий порт SSH.
Після зміни порту SSH, його старий порт (порт 22 за замовчуванням) може бути використаний зловмисниками для спроб злому. Тому, зміна порту SSH-одна з найпростіших, але ефективних заходів безпеки для захисту сервера від атак.