Come generare il file .pem di Openssl e dove dobbiamo posizionarlo


13

Voglio generare un .pemfile OpenSSL per consentire l'accesso remoto tramite ssh utilizzando il .pemfile al posto della password.

Sono in grado di generare chiave .crte .pemfile utilizzando il seguente

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

Ma il problema è che dove devo metterlo sul lato server o quali modifiche devo apportare nel /etc/ssh/sshd_configfile per consentire l'accesso remoto tramite ssh utilizzando il .pemfile.

Voglio che il client colleghi la mia macchina nel modo seguente.

ssh -i server_crt.pem username@my_ip

Quali cambiamenti devo apportare esattamente per l'implementazione.

Grazie

Risposte:


18

Per prima cosa devi caricare la chiave pubblica sul server a cui sei disposto a connetterti, la chiave pubblica è nel file .pub:

Esempio:

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

Dopodiché dovrebbe funzionare e dovresti essere in grado di accedere utilizzando:

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

Le modifiche vengono apportate nel file ~ / .ssh / authorized_keys sulla macchina server, aperto con un editor di testo come nano, vedrai le righe che iniziano con qualcosa come: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Genero personalmente il file chiave usando $ ssh-keygen -t rsa -b 2048 -v, che genera il file .pem e pub. Quando ti viene chiesto:

Inserisci il file in cui salvare la chiave (/home/user/.ssh/id_rsa):

inserisci il nome del file .pem ad esempio: my-certificate.pem

Passo dopo passo dalla generazione della chiave al login:

  1. Generare la chiave con $ ssh-keygen -t rsa -b 2048 -ve quando viene richiesto di inserire il file in cui salvare la chiave, digitare my-certificatee quando viene richiesto di inserire la passphrase, premere Invio (passphrase vuoto) e confermare con Enter.
  2. Otterrai due file generati, uno sarà my-certificate e uno sarà my-certificate.pub, rinominare my-certificate in my-certificate.pem, quindi avrai due file, my-certificate.pub e my- certificate.pem
  3. Carica il certificato pubblico sul server: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Crea file .pem sul tuo computer di sola lettura sudo chmod 400 my-certificate.pem
  5. Entra con $ sudo ssh -i /path/to/my-certificate.pem user@ip

1
Dopo tutto ricevo l'errore "Autorizzazione negata (chiave pubblica)" e non riesco a connettermi
Farman Ali,

Salve, per motivi di sicurezza, il tuo file .pem non deve essere scrivibile, usa sudo chmod 400 my-certificate.pem sul tuo computer e riprova.
Mike,

Ciao, l'ho cambiato in 400. Ma il problema è rimasto lo stesso. Spiegherà per favore l'intero lavoro passo dopo passo dalla generazione di una chiave alla connessione dal client.
Farman Ali,

La ridenominazione dovrebbe essere fatta dopo ssh-copy-id perché cerca il mio file del certificato
coolscitist
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.