Як налаштувати ключ SSH в Linux

SSH - це чудова технологія; ви можете використовувати його для приховуванняVPN-трафік за допомогою нього, безпечне з'єднання з веб-сайтами тощо. Єдина проблема - кожен раз, коли ви намагаєтесь увійти на віддалену машину, вам доведеться ввести свій пароль, і це може бути нудно. Якщо ви розробник, який прагне підключитися до багатьох машин через SSH одночасно за допомогою сценарію Bash, або просто хтось, хто використовує безпечну оболонку і не вводить паролі, є рішення: SSH без паролів. Цей процес передбачає генерування захищеного SSH ключа на хост-машині та обмін ним як спосіб доступу до ПК. Це дозволить всім, хто має ключ, увійти, навіть якщо він не знає пароль. Ось як це зробити.

Що таке ключі SSH?

Ключ SSH - це унікальний ідентифікаційний файл, якийвикористовується із захищеною оболонкою. Мета цих ключів - надати користувачеві унікальну ідентичність та позначити їх як "довірені" під час входу. Самі ці ключі - це більше, ніж файли, які підтверджують ідентичність когось. Насправді SSH дозволяє користувачам входити в систему за допомогою ключа, а не паролем. Значить, замість того, щоб змушувати вводити пароль щоразу при вході через SSH, ви використовуєте ключ SSH.

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

Створення безпечних ключів SSH

Спершу потрібно створити захищений ключ SSHSSH працює і працює. Зрозумійте, що це не обов'язково означає, що вам потрібно мати SSH-сервер. Просто базові інструменти та технології SSH працюють на вашому ПК з Linux. Не знаєте, як налаштувати SSH? Дотримуйтесь нашого посібника тут.

Завжди генеруйте SSH-ключі в системі, на якій розміщено SSH-сервер. Не намагайтеся генерувати їх на сервері, на якому не розміщено сеанс SSH, і не скопіюйте його на хост-машину SSH. Це не вийде.

Щоб розпочати процес генерації ключів, відкрийте термінал. Всередині вікна терміналу запустіть:

ssh-keygen -t rsa

Біг ssh-keygen надрукує „Створення відкритого / приватного ключа rsaпара ». Це означає, що система генерує вам як відкритий ключ, так і приватний ключ для використання. Відкриті ключі - це той, хто може використовувати, і вам слід добре видавати. З іншого боку, приватний ключ - це те, про що ніколи не слід ділитися ні з ким. Звідси і назва «приватний».

Клавіші збережуть себе на /home / username / .ssh / id_rsa.

Примітка: НЕ ВИДАЛУЙТЕ то ~ / .сш папку, оскільки вона містить ваші ключі. Якщо ви будь-яким чином підробляєте цю папку, а потім намагаєтесь увійти в цю машину віддалено, запит SSH не вдасться. Він також надрукує попередження та заблокує вас.

SSH ключі на віддаленій машині

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

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

ssh username@remote-host-name mkdir -p .ssh

Запуск цієї команди ssh створить прихований ~ / .сш папку в домашньому каталозі віддаленої машини (з користувачем, який використовувався для входу). Ця папка важлива, оскільки саме тут ми будемо копіювати новоспечені файли ключів SSH.

Щоб скопіювати файли ключів SSH, запустіть ще одну команду з хост-машини SSH на віддалену машину, якій потрібні ключі:

cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"

Копіювання займе кілька секунд, залежно від швидкості мережі. По завершенні роботи віддалений ПК матиме згенеровані ключі та зможе увійти в хост-ПК SSH без пароля.

Резервне копіювання ключів SSH

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

Найшвидший, найефективніший (і найпростіший спосіб)шифрування - використання GnuPG. Сам інструмент вбудований у більшість інструментів шифрування, які вже є в Linux, і є передумовою, коли шифруються файли. Щоб встановити GnuPG, відкрийте термінал і знайдіть у своєму менеджері пакунків “gpg”. Програму слід легко знайти навіть у дуже незрозумілих дистрибутивах Linux.

Після запуску GPG запустіть процес шифрування, стиснувши його ~ / .сш каталог у файл архіву tar. Це дозволить зробити так, що немає необхідності індивідуально шифрувати кожен окремий файл у ~ / .сш папку.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Коли стискання закінчиться, запустіть процес шифрування.

Примітка: перед шифруванням запустіть gpg в терміналі для створення нового брелока.

gpg -c ssh-stuff.tar.gz

Коли процес шифрування завершиться, GnuPG викладе файл із міткою "ssh-stuff.tar.gz.gpg". Ви можете видалити оригінальну розблоковану версію файлу. Щоб розшифрувати резервний архів, виконайте такі дії:

gpg ssh-stuff.tar.gz.gpg
</p>

Коментарі