Как создать файл Openssl .pem и где мы должны его разместить

13

Я хочу создать OpenSSL .pem файл чтобы разрешить удаленный вход через 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 / authorized_keys на серверном компьютере, откройте его с помощью текстового редактора, такого как 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. Вы получите два сгенерированных файла, один из которых будет my-Certificate, а другой - my-certificate.pub, переименуйте my-Certificate в my-certificate.pem, поэтому у вас будет два файла, my-certificate.pub и my- certificate.pem
  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)», и я не могу подключиться
Фарман Али
Здравствуйте, по соображениям безопасности, ваш файл .pem не должен быть доступен для записи, используйте sudo chmod 400 my-certificate.pem на вашем компьютере и попробуйте снова.
Майк
Привет, я изменил его на 400. Но проблема осталась прежней. Пожалуйста, объясните шаг за шагом всю работу от генерации ключа до подключения от клиента.
Фарман Али
Переименование должно быть сделано после ssh-copy-id, потому что он ищет файл my-Certificate
coolscitist