Bagaimana cara menghasilkan file openssl .pem dan di mana kita harus meletakkannya

13

Saya ingin membuat .pemfile OpenSSL untuk memungkinkan login jarak jauh melalui ssh menggunakan .pemfile di tempat kata sandi.

Saya dapat membuat kunci .crtdan .pemfile menggunakan yang berikut ini

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

Tetapi masalahnya adalah di mana saya harus meletakkannya di sisi server atau perubahan apa yang harus saya buat dalam /etc/ssh/sshd_configfile untuk memungkinkan login jarak jauh melalui ssh menggunakan .pemfile.

Saya ingin klien menghubungkan mesin saya dengan cara berikut.

ssh -i server_crt.pem username@my_ip

Perubahan apa yang harus saya lakukan untuk implementasi.

Terima kasih

Farman Ali
sumber

Jawaban:

18

Pertama, Anda perlu mengunggah kunci publik ke server yang ingin Anda sambungkan, kunci publik ada di file .pub:

Contoh:

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

Setelah ini, ia akan berfungsi dan Anda harus bisa masuk menggunakan:

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

Perubahan dilakukan dalam file ~ / .ssh / authorized_keys pada mesin server, buka dengan editor teks seperti nano, Anda akan melihat baris dimulai dengan sesuatu seperti: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Saya pribadi membuat file kunci menggunakan $ ssh-keygen -t rsa -b 2048 -v, yang menghasilkan file .pem dan pub. Ketika Anda ditanya:

Masukkan file untuk menyimpan kunci (/home/user/.ssh/id_rsa):

masukkan nama file .pem misalnya: my-Certificate.pem

Langkah demi langkah dari menghasilkan kunci untuk masuk:

  1. Hasilkan kunci dengan $ ssh-keygen -t rsa -b 2048 -vdan ketika diminta untuk memasukkan file untuk menyimpan kunci, ketik my-certificatedan ketika diminta untuk memasukkan frasa sandi, tekan Enter (kosongkan frasa sandi) dan konfirmasikan dengan Enter.
  2. Anda akan mendapatkan dua file yang dihasilkan, satu akan menjadi sertifikat-saya dan satu akan menjadi sertifikat- saya. Sertifikat, ganti nama sertifikat saya menjadi sertifikat-saya.pem, sehingga Anda akan memiliki dua file, sertifikat- saya.pub dan sertifikat- sertifikat
  3. Unggah sertifikat publik ke server: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Buat file .pem di komputer Anda hanya-baca sudo chmod 400 my-certificate.pem
  5. Masuk dengan $ sudo ssh -i /path/to/my-certificate.pem user@ip
Mike
sumber
1
Setelah semua saya mendapatkan kesalahan 'Izin ditolak (publickey)' dan saya tidak dapat terhubung
Farman Ali
Hai, untuk alasan keamanan, file .pem Anda seharusnya tidak dapat ditulisi, gunakan sudo chmod 400 my-Certificate.pem di mesin Anda dan coba lagi.
Mike
Hai, saya telah mengubahnya menjadi 400. Tapi masalahnya tetap sama. Tolong jelaskan langkah demi langkah seluruh pekerjaan mulai dari menghasilkan kunci untuk menghubungkan dari klien.
Farman Ali
Pengubahan