Як генерувати файл 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.