Перейти до контенту

Установка і настройка SSH сервера в Ubuntu

Можливостей організувати віддалений доступ до вашого комп’ютера через інтернет-з’єднання існує у великій кількості. Деякі з них є дуже складними і використовуються лише спеціалістами в професійному середовищі, в той час як інші – дуже прості і їх можуть освоїти навіть недосвідчені користувачі. Ми вже писали про декілька способів, зокрема, про програму TeamViewer і протоколі VNC.

Порядок роботи з протоколом SSH в Ubuntu

Нюанси роботи з протоколом SSH в Ubuntu.

У цій статті ми поговоримо про протокол безпечного підключення SSH, останнім часом став практично стандартом в середовищі користувачів Linux. Він є дуже надійним, оскільки підтримує шифрування, а також його дуже легко налаштовувати. Ми розглянемо особливості протоколу SSH, а також навчимося виконувати настройки сервера і клієнта. Все, що від вас буде вимагатися – наявність комп’ютера з встановленою операційною системою Ubuntu і інтернет-підключення.

Що являє собою протокол SSH

Протокол Secure Shell, відомий також як SSH – спеціальний протокол для безпечного віддаленого доступу до комп’ютера через мережеве підключення. Протокол має багато можливостей, в тому числі організацію захищеного підключення, запуск командного рядка терміналу на комп’ютері, до якого ви підключаєтеся віддалено, запуск додатків з графічним інтерфейсом, передача файлів і розгортання приватних мереж.

Існує безліч утиліт, що відповідають за управлінням протоколом. На операційній системі Ubuntu найвідомішим є Open SSH. Це повністю вільний продукт з відкритою ліцензією і повним набором найнеобхідніших функцій. Клієнт для управління SSH-підключенням вже включений в дистрибутив Ubuntu, вам потрібно буде лише встановити і налаштувати серверні компоненти. Управління здійснюється через команди в терміналі.

Open SSH

Установка SSH в Ubuntu

Оскільки протокол SSH клієнт для його управління є загальноприйнятим стандартом, встановити його можна за допомогою короткої команди в терміналі Ubuntu. для цього запустіть сам термінал, натиснувши комбінацію кнопок на клавіатурі Ctrl + Alt + T, після чого застосуйте команду sudo apt-get install ssh. Після підготовки до скачування утиліта запросить, чи хочете ви продовжити. перемкніть клавіатуру на російську мову і натисніть Д. На вашому комп’ютері з Ubuntu установка ssh буде завершена вже через пару секунд. Якщо ви бажаєте активувати автоматичний запуск при включенні системи, використовуйте для цього команду sudo systemctl enable sshd. відповідно, якщо потім ви побажаєте прибрати службу з автоматичного запуску, вам знадобиться команда sudo systemctl disable sshd.

Активація автоматичного запуску

Тепер можна перевірити, як все працює. Цього достатньо спробувати підключитися до локального SSH server: ssh localhost. Утиліта обов’язково запросить пароль користувача root, а також запропонує додати введений адресу в список дозволених. Якщо у вас все працює, як годиться, ви побачите невелике повідомлення, що закінчуються повідомлення про дату останнього підключення до адреси.

Тепер можна підключатися до будь-якого комп’ютера в мережі, якщо ви знаєте його IP-адресу та ім’я користувача. для цього в терміналі вам потрібно ввести команду наступного формату:

ssh username @ ip_адрес

Наприклад, якщо ви хочете приєднатися до комп’ютера Васі Пупкіна з адресою 132.14.25.10, то команда буде виглядати наступним чином:

ssh vasya_pupkin@132.14.25.10

Налаштування SSH в Ubuntu

Для правильної та безпечної роботи з SSH-сервером його потрібно певним чином налаштувати. Для цього потрібно відредагувати файл параметрів sshd_config, розташований в каталозі / etc / ssh. Примітно, що його не можна змінити, просто відкривши через файловий менеджер в звичайному текстовому редакторі. Система сповістить вас про недостатні права, і ви просто не зможете зберегти зміни. Тому вам знову знадобиться термінал і знання кількох команд, про які ми зараз розповімо. Давайте розглянемо необхідні кроки по налаштуванню ssh сервера в операційній системі Ubuntu.

  1. Створіть резервну копію файлу налаштувань, для того, щоб можна було відновити оригінальний файл в разі якихось помилок: sudo cp / etc / ssh / sshd_config /etc/ssh/sshd_config.factory-defaults.
  2. Відкрийте файл конфігурації для його редагування: sudo nano / etc / ssh / sshd_config.
  3. Виконайте необхідні настройки (про це напишемо далі).
  4. Щоб зберегти виконані зміни, натисніть послідовно Ctrl + X, потім Y і Enter.
  5. Перезапустіть службу SSH на вашому комп’ютері: sudo systemctl restart ssh. перезапуск служби
  6. Спробуйте з’єднатися з віддаленим або локального комп’ютера, застосовуючи нові настройки (про це ми також напишемо нижче).

Що можна поміняти в налаштуваннях SSH

  • Порт. За замовчуванням утиліта використовує порт 22. Якщо його не змінити на інший, зловмисник дуже легко зможе отримати доступ до всієї системи. Щоб поміняти номер порту, знайдіть рядок Port 22, і замініть 22 на будь-який інший номер.
  • Протокол. Утиліта SSH підтримує два протоколи для кращої сумісності. Проте, протокол 1 вже вважається застарілим і небезпечним, тому найкраще користуватися протоколом 2. Щоб активувати його, знайдіть рядок #Protocol 2, видаліть знак # на початку рядка. У деяких випадках може зустрічатися запис типу Protocol 1, 2. У такому випадку вам потрібно залишити тільки останнє значення.
  • Запам’ятати мене з цього суперкористувача. Незрозуміло навіщо, але за замовчуванням ця функція активована. Якщо її не вимкнути, то це може серйозно зашкодити вашій безпеки. Знайдіть в конфігураційному файлі рядок PermitRootLogin і замініть значення prohibit-password на no.
  • Авторизація по ключу. Підключення по ключу є найбільш надійним, так як його практично неможливо зламати. Вам потрібно знайти рядок PubkeyAuthentication і перевірити, чи не відрізняється значення цього параметра від необхідного yes. Як створювати сам ключ, ми розповімо в наступному пункті. редагування налаштувань
  • Доступ певної групи користувачів. Якщо ви хочете, щоб доступ до віддаленого комп’ютера могла отримати певна група користувачів, а не хто попало, в кінці додайте кілька рядків типу: AllowUsers User1, User2, User3 або AllowGroups Group1, Group2, Group3, якщо справа стосується груп. Замість User і Group пропишіть конкретні назви.
  • Дозвіл запуску графічного інтерфейсу додатків. Щоб надалі запускати додатки з графічним інтерфейсом на віддаленому комп’ютері, замість того щоб задовольнятися командним рядком, в конфігураційному файлі додайте рядок, прописавши X11Forwarding yes.

Мінімально необхідні команди

  • Дозвіл використання порту в брандмауері. Якщо ви користуєтеся на своєму комп’ютері з операційною системою Ubuntu брандмауером для контролю з’єднань, застосуєте команду, роздільну використання інтернет-підключення утилітою SSH: sudo ufw allow 2222. Замість 2222 пропишіть номер порту, який використовували особисто ви.
  • Підключення до сервера. Трохи вище ми вже писали, як можна підключатися до віддаленого комп’ютера, але не завадить нагадати. Введіть команду вигляду ssh username @ ip_адрес, де в першому параметрі напишіть логін для під’єднання до комп’ютера, а в другому – його адресу в мережі.
  • Виконання віддалених команд. Припустимо, вам потрібно віддалено виконати будь-яку команду на комп’ютері, до якого ви підключаєтеся. Для цього до команди для підключення до комп’ютера, зазначеної в попередньому пункті, додайте команда, яку потрібно виконати. наприклад, повернемося, наприклад, з Васею Пупкіним: ssh vasya_pupkin@132.14.25.10 ls. На віддаленому комп’ютері буде виконана команда ls.
  • Аутентифікація на сервері із застосуванням ключа. Оскільки пароль дуже легко підібрати, найбільш надійним і безпечним способом підключення до віддаленого комп’ютера через мережу буде з використанням спеціального ключа. Щоб створити його, скористайтеся командою ssh-keygen -t rsa. Дайте відповідь на всі питання, які у вас запитає утиліта настройки. Потім відправте створений ключ на віддалений сервер: ssh-copy-id -i ~ / .ssh / id_rsa.pub username @ адрес_компьютера. Тепер, коли ви будете підключатися до цієї віддаленої машині, Вам необхідно ввести пароль не буде, а буде використовуватися персональний ключ. Аутентифікація на сервері із застосуванням ключа
  • Передача файлів. Іноді необхідно передати якісь файли або документи на віддалений комп’ютер. Для цього вам знадобиться наступна команда: scp / розташування / файлу username @ адрес_компьютера: розташування / папки. Ось конкретний зразок на основі прикладу з Васею Пупкіним): scp /home/text.pdf vasya_pupkin@132.14.25.10: home / documents. Щоб використовувати стиснення файлів і пересилати цілі папки, допоможе команда tar czf – / home / user / file | ssh username @ адрес_компьютера tar -xvzf -C / home / папка_пользователя /.
  • Запуск графічного інтерфейсу програм на віддаленому комп’ютері. Наприклад, ви працюєте з дому, але необхідне програмне забезпечення встановлено на вашому робочому комп’ютері. Його можна запустити віддалено, а на вашому домашньому ПК буде відображатися лише інтерфейс програми, тоді як всі обчислення і обробка даних буде відбуватися на робочій машині. Якщо ви вже раніше активували можливість запуску графічного інтерфейсу програм, скористайтеся ось такою командою: ssh -XC username @ адрес_компьютера «названіе_программи».

висновок

Як бачите, нічого дуже складного в налаштуванні протоколу ssh на комп’ютері з операційною системою Ubuntu немає. Вам потрібно лише один раз все уважно налаштувати, скориставшись нашою докладною інструкцією, і користуватися можливостями віддаленого підключення. Якщо у вас виникають питання, задавайте їх у коментарях.

Залишити відповідь