Cómo generar el archivo .pem de Openssl y dónde tenemos que colocarlo

13

Quiero generar un .pemarchivo OpenSSL para permitir el inicio de sesión remoto a través de ssh usando el .pemarchivo en el lugar de la contraseña.

Puedo generar claves .crty .pemarchivos usando lo siguiente

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

Pero el problema es que tengo que ponerlo en el lado del servidor o qué cambios tengo que hacer en el /etc/ssh/sshd_configarchivo para permitir el inicio de sesión remoto a través de ssh usando el .pemarchivo.

Quiero que ese cliente conecte mi máquina de la siguiente manera.

ssh -i server_crt.pem username@my_ip

Qué cambios exactamente tengo que hacer para la implementación.

Gracias

Farman Ali
fuente

Respuestas:

18

Primero debe cargar la clave pública en el servidor al que desea conectarse, la clave pública está en el archivo .pub:

Ejemplo:

# ssh-copy-id -i ~/my-certificate.pub [email protected]

Después de esto, debería estar funcionando y debería poder iniciar sesión usando:

$ sudo ssh -i ~/my-certificate.pem [email protected]

Los cambios se realizan en el archivo ~ / .ssh / certified_keys en la máquina del servidor, abierto con un editor de texto como nano, verá líneas que comienzan con algo como: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Personalmente genero el archivo de clave usando $ ssh-keygen -t rsa -b 2048 -v, que genera el archivo .pem y pub. Cuando te preguntan:

Ingrese el archivo en el que guardará la clave (/home/user/.ssh/id_rsa):

ingrese el nombre del archivo .pem por ejemplo: my-certificate.pem

Paso a paso desde generar la clave para iniciar sesión:

  1. Genere la clave con $ ssh-keygen -t rsa -b 2048 -vy cuando se le solicite ingresar un archivo en el que guardar la clave, escriba my-certificatey cuando se le solicite ingresar la frase de contraseña, presione Entrar (frase de contraseña vacía) y confirme con Entrar.
  2. Obtendrá dos archivos generados, uno será mi certificado y otro será mi certificado.pub, cambie el nombre de mi certificado a mi certificado.pem, por lo que tendrá dos archivos, mi certificado.pub y mi- certificado.pem
  3. Suba el certificado público al servidor: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Cree un archivo .pem en su computadora de solo lectura sudo chmod 400 my-certificate.pem
  5. Iniciar con $ sudo ssh -i /path/to/my-certificate.pem user@ip
Miguel
fuente
1
Después de todo, recibo el error 'Permiso denegado (clave pública)' y no puedo conectarme
Farman Ali
Hola, por razones de seguridad, su archivo .pem no debe poder escribirse, use sudo chmod 400 my-certificate.pem en su máquina e intente nuevamente.
Mike
Hola, lo había cambiado a 400. Pero el problema sigue siendo el mismo. ¿Podría explicar todo el trabajo paso a paso desde generar una clave hasta conectarse desde el cliente?
Farman Ali
El cambio de nombre debe hacerse después de ssh-copy-id porque busca el archivo de mi certificado
coolscitist