Comment générer un fichier openssl .pem et où nous devons le placer


13

Je veux générer un .pemfichier OpenSSL pour permettre la connexion à distance via ssh en utilisant le .pemfichier à la place du mot de passe.

Je peux générer des clés .crtet des .pemfichiers en utilisant les éléments suivants

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

Mais le problème est que là où je dois le mettre côté serveur ou quels changements je dois faire dans le /etc/ssh/sshd_configfichier pour permettre la connexion à distance via ssh en utilisant le .pemfichier.

Je veux que ce client connecte ma machine de la manière suivante.

ssh -i server_crt.pem username@my_ip

Quels changements exactement je dois apporter à la mise en œuvre.

Merci

Réponses:


18

Vous devez d'abord télécharger la clé publique sur le serveur auquel vous souhaitez vous connecter, la clé publique se trouve dans le fichier .pub:

Exemple:

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

Après cela, cela devrait fonctionner et vous devriez pouvoir vous connecter en utilisant:

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

Les modifications sont effectuées dans le fichier ~ / .ssh / authorized_keys sur la machine serveur, ouvert avec un éditeur de texte tel que nano, vous verrez des lignes commençant par quelque chose comme: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Personnellement, je génère le fichier de clé à l'aide de $ ssh-keygen -t rsa -b 2048 -v, qui génère le fichier .pem et pub. Quand on vous demande:

Entrez le fichier dans lequel enregistrer la clé (/home/user/.ssh/id_rsa):

entrez le nom du fichier .pem par exemple: my-certificate.pem

Étape par étape de la génération de la clé à la connexion:

  1. Générez la clé avec $ ssh-keygen -t rsa -b 2048 -vet lorsque vous êtes invité à entrer le fichier dans lequel enregistrer la clé, tapez my-certificateet lorsque vous êtes invité à saisir la phrase secrète, appuyez sur Entrée (phrase secrète vide) et confirmez par Entrée.
  2. Vous obtiendrez deux fichiers générés, l'un sera my-certificate et l'autre sera my-certificate.pub, renommez my-certificate en my-certificate.pem, vous aurez donc deux fichiers, my-certificate.pub et my- certificate.pem
  3. Téléchargez le certificat public sur le serveur: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Rendre le fichier .pem sur votre ordinateur en lecture seule sudo chmod 400 my-certificate.pem
  5. Connectez-vous avec $ sudo ssh -i /path/to/my-certificate.pem user@ip

1
Après tout, je reçois l'erreur «Autorisation refusée (publickey)» et je ne parviens pas à me connecter
Farman Ali

Bonjour, pour des raisons de sécurité, votre fichier .pem ne doit pas être accessible en écriture, utilisez sudo chmod 400 my-certificate.pem sur votre machine et réessayez.
Mike

Salut, je l'avais changé en 400. Mais le problème reste le même. Pourriez-vous s'il vous plaît expliquer tout le travail étape par étape, de la génération d'une clé à la connexion à partir du client.
Farman Ali

Le changement de nom doit être fait après ssh-copy-id car il recherche le fichier my-certificate
coolscitist
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.