У двох словах, SSH або "захищена оболонка" - це зашифрований протокол, за допомогою якого ви можете віддалено підключатися до сервера та мати доступ до інформації, пов'язаної з ним. Він забезпечує набагато безпечніший спосіб входу в систему, щоб забезпечити безпечний спосіб входу в систему без шкоди для безпеки.
Крок 1: Створіть пару ключів
Ми почнемо зі створення пари ключів у системі клієнта, спочатку з кореневим доступом за типом, з наступного:
$ ssh-keygen
Це запускає останню ssh-keygen для створення 3072-бітної пари ключів RSA за замовчуванням. Ви можете додати прапор -b 4086, щоб сформувати більший ключ. Натисніть клавішу Enter, і вона збереже пару ключів .ssh / підкаталог. Зверніть увагу, що якщо ви гість на сервері, на якому вже був встановлений ключ, підказка запитає вас, чи хочете ви його перезаписати чи ні. Якщо це так, введіть "y", щоб підтвердити "так".
Далі підказка запитає вас, чи хочете ви додати парольну фразу. Ви можете відмовитись, але ми рекомендуємо додати його. Він підсилює протокол безпеки, надаючи додатковий рівень захисту, який обходить сторонній користувач.
Крок 2: Скопіюйте відкритий ключ на свій сервер
Далі ми повинні передати відкритий ключ на ваш сервер ubuntu.
Ви можете використовувати утиліту ssh-copy-id, використовуючи таку команду:
$ ssh-copy-id ім'я користувача @ server_host
Це повинно зробити трюк всього за кілька секунд. Якщо ключ було скопійовано успішно, перейдіть до третього кроку.
Іноді трапляється так, що метод ssh-copy-id не вдається або просто недоступний. У цьому випадку вам потрібно буде скопіювати його за допомогою пароля SSH. Це ви можете зробити, скориставшись командою cat і переконайтесь, що додаєте символ >> для додавання до вмісту, замість того, щоб перезаписувати його.
$ cat ~ /.ssh / id_rsa.паб | ssh remote_username @ server_ip_address"mkdir -p ~ /.ssh && cat >> ~ /.ssh / дозволені_клавіші "
Якщо ви вперше підключаєтеся до нового хосту, система покаже вам щось на зразок:
Просто введіть так і натисніть кнопку Enter. Потім введіть пароль до облікового запису доступу користувача, і відкритий ключ буде скопійований на ваш сервер Ubuntu.
Якщо ви не можете закріпити доступ до SSH на основі пароля з якихось причин, ви завжди можете просто скопіювати відкритий ключ вручну. Додайте ~ /.ssh / санкціоновані_клавіші до id_rsa.pub файл на віддаленій машині. Далі увійдіть у свій обліковий запис віддаленого сервера та перевірте, чи існує каталог ~ SSH. Якщо ні, введіть:
$ mkdir -p ~ /.ssh
Тепер вам просто потрібно додати ключ:
$ echo public_key_string >> ~ /.ssh / дозволені_клавіші$ chmod -R go = ~ /.ssh
Також переконайтеся, що ви використовуєте ~ SSH / КОРИСТУВАЧ каталог і НЕ кореневий каталог:
$ chown -R younis: younis ~ /.ssh
Крок 3: Аутентифікація ключів SSH
Наступним кроком є автентифікація ключів SSH на сервері Ubuntu. Спочатку увійдіть на віддалений хост:
$ ssh ім'я користувача @ remote_host
Вам буде запропоновано ввести ключ парольної фрази, який ви додали на кроці 2. Наберіть і продовжуйте. Аутентифікація займе деякий час, і як тільки це буде зроблено, ви потрапите в нову інтерактивну оболонку на вашому сервері Ubuntu
Крок 4: Вимкніть автентифікацію пароля
З автентифікацією ключів SSH вам більше не потрібна система автентифікації пароля.
Якщо автентифікація пароля увімкнена на вашому сервері, він все одно буде схильний до несанкціонованого доступу користувача через грубі атаки. Тож буде краще, якщо ви вимкнете будь-яку автентифікацію на основі пароля.
Спочатку перевірте, чи є у вас автентифікація на основі ключа SSH, підготовлена до корінь обліковий запис на цьому сервері. Якщо це так, то вам слід змінити його на привілейований обліковий запис користувача sudo на цьому сервері, щоб доступ адміністратора був відкритий для вас у випадку надзвичайної ситуації або коли система стикається з деякими підозрілими діями.
Надавши привілеї адміністратора для вашого облікового запису віддаленого доступу, увійдіть на віддалений сервер за допомогою ключів SSH з правами root або sudo. Потім використовуйте таку команду для доступу до конфігураційного файлу демона SSH:
$ sudo gedit / etc / ssh / sshd_config
Коли файл відкрито зараз, знайдіть каталог «PasswordAuthentication» і введіть наступне, щоб вимкнути автентифікацію пароля та логіни SSH на основі пароля.
$ / etc / ssh / sshd_config..
Пароль Аутентифікаційний номер
..
Щоб побачити фактичні зміни, вам доведеться перезапустити службу sshd, використовуючи таку команду:
$ sudo systemctl перезапустіть ssh
Як запобіжний захід, відкрийте нове вікно терміналу та перевірте, чи правильно працює служба SSH, перш ніж закривати поточний сеанс.
За допомогою перевірених ключів SSH ви зможете бачити, як все працює нормально. Ви можете вийти з усіх поточних сеансів сервера.
Висновок
Тепер, коли у вас є система автентифікації на основі SSH-ключів, вам більше не потрібна вразлива система автентифікації паролів, оскільки ви можете просто ввійти без пароля. Сподіваюсь, цей підручник вам знайшов користь.