Основним способом підключення до сервера Linux є наскрізний протокол SSH. Цей тип підключення є безпечним, оскільки всі дані, що передаються через нього, зашифровані. По порядку до встановити з'єднання SSH вам слід налаштувати його на віддаленому сервері, до якого ви хочете підключитися, і клієнті на стороні користувача. Існує маса програмного забезпечення для підключення SSH. Що стосується Linux, пакет OpenSSH є найпопулярнішим, а для Windows люди в основному використовують PuTTY.
Давайте детальніше розглянемо конфігурацію сервера на прикладі Ubuntu Server 18.04, а потім спробуємо підключитися до сервера з Linux і Windows.
Все, що ми робимо, буде з облікового запису звичайного користувача. У цьому випадку ми створили користувача "Майкл", І"коріньОбліковий запис вимкнено за умовчанням.
Налаштування на стороні сервера
Налаштуйте пакет, який виконує цю команду:
sudo apt install openssh-server
Після завершення встановлення переконайтеся, що служба запущена. Використовуйте цю команду:
systemctl status sshd
Статус "Активний (працює)” означає, що послуга ввімкнена та працює нормально.
Щоб уникнути блокування вхідних з’єднань брандмауером, переконайтеся, що ви вимкнули його, оскільки ми не збираємося налаштовувати мережевий брандмауер у цій статті.
Використовуйте цю команду:
sudo ufw disable
На цьому етапі ви вже можете підключитися до сервера. З налаштуваннями за замовчуванням сервер дозволяє підключатися до стандартного порту 22 з аутентифікацією на основі пароля.
Підключення SSH з Linux
Як правило, клієнт OpenSSH встановлюється на Linux за замовчуванням і не потребує додаткової ручної настройки. Підключення можна встановити з терміналу за допомогою команди ssh. Параметрами в цьому випадку будуть ім’я користувача та IP-адреса віддаленого сервера. На нашому тестовому сервері, який ми використовуємо як приклад, є лише один обліковий запис «mihail», тому ми будемо використовувати його.
ssh [email protected]
Під час першого підключення вам потрібно буде підтвердити додавання відкритого ключа сервера до бази даних, тому дайте відповідь “такПісля цього можна вводити пароль. Якщо підключення буде успішно встановлено, ви побачите вітальний текст командного рядка сервера. Тепер всі команди будуть виконуватися прямо на віддаленому сервері.
SSH з Windows
Відкрийте Putty і встановіть параметри підключення. Переконайтеся, що перемикач «Тип з'єднання”. SSH. Введіть IP-адресу в поле «Host Name”, значення за умовчанням 22 в "порт"І натисніть"відкритий".
При першому підключенні шпаклівка попросить вас підтвердити, що ви довіряєте цьому серверу, тому натисніть «Так"
Після введення логіна і пароля ви побачите командний рядок віддаленого сервера.
Аутентифікація за ключем. Підвищення рівня безпеки
Коли клієнт намагається встановити безпечне з’єднання із сервером через SSH, перш ніж дозволити з’єднання, сервер вимагає автентифікації (перевірки) клієнта. Як згадувалося раніше, автентифікація на основі пароля зазвичай використовується за замовчуванням. Він не забезпечує надійної безпеки, тому що завжди є спосіб підібрати його. Крім того, аутентифікація за паролем не застосовується до SSH-з'єднань з використанням скриптів.
Для цього типу завдань існує спеціальний метод аутентифікації за ключем. Справа в тому, що клієнт генерує закритий і відкритий ключі, а потім відкритий ключ надсилається на сервер. Після цього вам не потрібен пароль для підключення до сервера, оскільки аутентифікація здійснюється на основі відкритих і закритих ключів клієнта. Щоб забезпечити належний рівень безпеки, доступ до закритого ключа має бути обмежений. Через те, що закритий ключ зберігається на стороні клієнта і не передається через мережу, цей метод вважається більш безпечним.
Аутентифікація за ключем в Linux
Давайте згенеруємо відкритий і закритий ключі на клієнті за допомогою утиліти ssh-keygen. Інструмент запропонує змінити шлях до закритого ключа та ввести парольну фразу для додаткової безпеки. Залиште всі параметри за замовчуванням, натискаючи Enter при всіх запитах.
У результаті в домашньому каталозі в папці .ssh ви знайдете два згенерованих файли: id_rsa та id_rsa.pub які містять закритий і відкритий ключі відповідно.
Після цього вам потрібно буде відправити відкритий ключ на сервер. Для цього скопіюйте вміст файлу "id_rsa.pub" файл у "~/.ssh/авторизовані_ключі" на сервері. Давайте підемо найпростішим шляхом за допомогою "ssh-copy-id". Введіть логін і IP-адресу сервера, як і при звичайному підключенні. Після введення пароля відкритий ключ клієнта буде автоматично скопійований на сервер. Виконайте цю команду:
ssh-copy-id [email protected]
Після того, як ви все це зробите, сервер більше не вимагатиме введення пароля.
Аутентифікація за ключем в Windows
відкритий PUTTYGEN і натисніть "ГенеруватиЩоб згенерувати ключі, вам просто потрібно навести курсор миші на екран, і інструмент випадковим чином згенерує ключі.
Після створення ключів натисніть «Save private key"І збережіть його у файл із закритим ключем на вашому диску. Ви можете вказати будь-який шлях, але трохи пізніше вам потрібно буде вказати його в Putty. Потім скопіюйте відкритий ключ у верхній частині вікна.
Давайте надішлемо відкритий ключ, просто скопіювавши його на термінал. ВІДЧИНЕНО шпаклівка і підключіться до сервера як зазвичай. Тепер давайте створимо ".ssh/authorized_keys” і обмежує іншим користувачам доступ до файлу, тому він доступний лише для автора.
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
Після створення файлу вставте в нього відкритий ключ клієнта. На попередньому етапі ми скопіювали відкритий ключ у буфер обміну. Щоб записати у файл те, що є в буфері обміну, скористайтеся командою cat і перенаправленням виводу.
cat > .ssh/authorized_keys
Після введення команди клацніть правою кнопкою миші у вікні терміналу та вставте те, що є в буфері обміну. Для підтвердження введення натисніть «Ctrl + D” і відключіться від сервера.
Тепер давайте вкажемо шлях до закритого ключа в Putty і знову підключимося до сервера.
Відтепер для підключення до сервера потрібно буде лише ввести ім'я користувача. Якщо ви намагаєтеся підключитися до сервера з іншого пристрою, який не має потрібного закритого ключа, сервер запитає пароль. Після налаштування автентифікації на основі ключа ви можете заборонити доступ за допомогою пароля.