Як генерувати файл Openssl .pem і де нам його розмістити


14

Я хочу створити .pemфайл OpenSSL, щоб дозволити віддалене вхід через ssh за допомогою .pemфайлу на місці пароля.

Я можу генерувати як ключ, так .crtі .pemфайли, використовуючи наступне

sudo openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem

Але проблема полягає в тому, що там, де я повинен розмістити його на стороні сервера, або які зміни я повинен внести у /etc/ssh/sshd_configфайл, щоб дозволити віддалений вхід через ssh за допомогою .pemфайлу.

Я хочу, щоб клієнт підключив мою машину наступним чином.

ssh -i server_crt.pem username@my_ip

Які саме зміни я повинен зробити для впровадження.

Спасибі

Відповіді:


18

Спочатку потрібно завантажити загальнодоступний ключ на сервер, до якого ви готові підключитися, відкритий ключ знаходиться у файлі .pub:

Приклад:

# ssh-copy-id -i ~/my-certificate.pub root@12.34.56.78

Після цього він повинен працювати, і ви повинні мати можливість увійти, використовуючи:

$ sudo ssh -i ~/my-certificate.pem root@12.34.56.78

Зміни вносяться у файл ~ / .ssh / санкціоновані ключі на серверній машині, відкрийте текстовий редактор, такий як nano, ви побачите рядки, що починаються з чогось типу: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Я особисто генерую ключовий файл, використовуючи $ ssh-keygen -t rsa -b 2048 -v, який генерує файл .pem і pub. Коли вас запитують:

Введіть файл, у якому потрібно зберегти ключ (/home/user/.ssh/id_rsa):

введіть ім'я .pem-файла, наприклад: my-certificate.pem

Крок за кроком від створення ключа до входу:

  1. Створіть ключ за допомогою $ ssh-keygen -t rsa -b 2048 -vта, коли буде запропоновано ввести файл, у якому потрібно зберегти ключ, введіть my-certificateі, коли буде запропоновано ввести парольну фразу, натисніть клавішу Enter (порожня парольна фраза) та підтвердіть клавішею Enter.
  2. Ви отримаєте два файли, один - мій сертифікат, а один - мій-сертифікат.pub, перейменуйте мій сертифікат на мій сертифікат.pem, тож у вас буде два файли, мій-сертифікат.pub та мій- сертифікат.пем
  3. Завантажте публічний сертифікат на сервер: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Зробіть .pem файл на своєму комп’ютері лише для читання sudo chmod 400 my-certificate.pem
  5. Увійти через $ sudo ssh -i /path/to/my-certificate.pem user@ip

1
Зрештою, я отримую помилку "Дозвіл відмовлено (publickey)", і я не можу підключитися
Farman Ali

Привіт, з міркувань безпеки ваш.
Майк

Привіт, я змінив його на 400. Але проблема залишилася незмінною. Поясніть, будь ласка, цілий робочий крок за кроком від створення ключа до підключення від клієнта.
Ферман Алі

Перейменування повинно бути виконано після ssh-copy-id, оскільки він шукає файл мого сертифіката
coolscitist
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.