GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Mengatur Login Tanpa Kata Sandi SSH di Rocky Linux

SSH kunci adalah kunci kriptografi yang digunakan untuk mengautentikasi dan mengamankan lalu lintas atau komunikasi antara dua server atau sistem. Mereka menyediakan metode otentikasi yang lebih aman dibandingkan dengan otentikasi kata sandi tradisional yang rentan terhadap serangan brute force.

Dalam tutorial ini, kami akan memandu Anda melalui cara mengatur kunci SSH di Linux Rocky .

Buat Pasangan Kunci RSA SSH di Rocky Linux

Untuk memulai membuat RSA pasangan kunci pada sistem lokal kami menjalankan perintah berikut:

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

Secara default, ini membuat RSA 2048-bit pasangan kunci yang dianggap cukup aman untuk mengenkripsi lalu lintas antara klien dan host jarak jauh.

Secara opsional, Anda dapat membuat 4096-bit pasangan kunci yang lebih besar dan lebih aman dengan melewatkan -b pilihan sebagai berikut:

$ ssh-keygen -b 4096

Setelah menjalankan ssh-keygen perintah, serangkaian petunjuk akan mengikuti. Pertama-tama Anda akan diminta untuk menyediakan file di mana kunci akan disimpan. Secara default, kunci disimpan di ~/.ssh direktori di direktori home Anda. Anda dapat menentukan file kustom Anda, tetapi dalam ilustrasi ini, kita akan menggunakan default

Jadi, tekan ENTER untuk menyimpan kunci di ~/.ssh direktori di direktori home Anda.

Jika kunci SSH sudah ada, Anda akan mendapatkan prompt berikut dan Anda akan diminta untuk menimpanya. Berhati-hatilah di sini. Menimpa kunci berarti otentikasi tidak dapat dilakukan dengan menggunakan kunci sebelumnya. Memilih ‘Ya’ menghancurkan kunci saat ini dan membuat yang baru.

Selanjutnya, Anda akan dimintai kata sandi. Ini adalah langkah opsional dan memberikan lapisan perlindungan tambahan untuk melarang pengguna yang tidak sah menggunakan kunci untuk otentikasi. Namun, Anda dapat mengosongkannya jika tujuan Anda adalah untuk mengonfigurasi autentikasi SSH tanpa kata sandi antara sistem lokal Anda dan host jarak jauh lainnya.

Untuk saat ini, kami akan mengosongkannya dan menekan ENTER .

Terakhir, pasangan kunci SSH (publik dan pribadi kunci) akan disimpan di sistem lokal Anda di jalur yang ditentukan. Ini adalah output yang dihasilkan setelah eksekusi perintah berhasil.

Dengan opsi default, SSH kunci disimpan di ~/.ssh direktori di dalam direktori home Anda. Untuk mengonfirmasi ini, jalankan perintah:

$ ls -la ~/.ssh
  • id_rsa adalah kunci pribadi dan harus dirahasiakan dan dirahasiakan. Mengungkapkannya dapat menyebabkan pelanggaran serius terhadap server jarak jauh Anda.
  • id_rsa.pub adalah kunci publik dan disimpan di host jarak jauh yang ingin Anda sambungkan.

Dengan SSH kunci berhasil dibuat, langkah selanjutnya adalah menyimpan Publik kunci ke sistem jarak jauh dalam kesiapan untuk otentikasi.

Salin Kunci Publik SSH ke Server Linux Jarak Jauh

ssh-copy-id command menyediakan cara mudah dan nyaman untuk menyalin kunci SSH publik ke host jarak jauh. Dibutuhkan sintaks berikut:

$ ssh-copy-id user@remote-host-ip-address

Kami memiliki sistem jarak jauh dengan pengguna biasa bernama bob sudah dikonfigurasi. Untuk menyalin kunci SSH publik, jalankan perintah:

$ ssh-copy-id [email protected]

Jika Anda terhubung ke host untuk pertama kalinya, Anda akan melihat output berikut. Untuk melanjutkan, ketik ‘yes’ dan tekan ENTER untuk melanjutkan.

Perintah memeriksa sistem lokal Anda untuk kunci publik id_rsa.pub dan setelah ia menetapkan keberadaannya, ia meminta Anda untuk memasukkan kata sandi pengguna jarak jauh.

Ketik sandi dan tekan ENTER . Kunci publik disalin pada host jarak jauh di ~/.ssh/authorized_keys mengajukan. Kami akan membahas ini nanti.

Di sistem lokal Anda, ~/.ssh/known_hosts file dibuat. Ini adalah file yang berisi sidik jari SSH untuk host jarak jauh yang telah Anda sambungkan.

Untuk melihat file, cukup jalankan perintah:

$ cat ~/.ssh/known_hosts

Menghubungkan ke Linux Jarak Jauh Tanpa Kata Sandi

Pada titik ini, Anda seharusnya dapat masuk ke host jarak jauh tanpa kata sandi. Untuk mencobanya, coba masuk seperti biasa.

$ ssh [email protected]

Kali ini Anda akan langsung dijatuhkan ke shell host jarak jauh.

Seperti yang kami sebutkan sebelumnya, kunci publik disimpan di authorized_keys file pada host jarak jauh. Anda dapat mengonfirmasi ini seperti yang ditunjukkan.

$ ls -la ~/.ssh/

Untuk melihat file, gunakan perintah cat sebagai berikut.

$ cat ~/.ssh/authorized_keys 

Nonaktifkan Otentikasi Kata Sandi SSH

SSH otentikasi kunci publik telah berhasil disiapkan. Namun, otentikasi kata sandi masih aktif dan ini membuat host jarak jauh Anda rentan terhadap serangan brute force.

Karena itu, sangat disarankan untuk menonaktifkan otentikasi kata sandi. Sekarang login kembali ke host jarak jauh menggunakan pengguna root atau sudo. Kemudian buka sshd_config file konfigurasi.

$ sudo vim /etc/ssh/sshd_config

Gulir ke bawah dan temukan PasswordAuthentication pengarahan. Jika dikomentari, batalkan komentar dan setel ke 'no' .

PasswordAuthentication no

Simpan perubahan dan keluar dari file.

Untuk menerapkan perubahan yang dibuat, mulai ulang sshd daemon seperti yang ditunjukkan.

$ sudo systemctl restart sshd

Pada titik ini, otentikasi kata sandi SSH telah dinonaktifkan di server jauh dan satu-satunya cara yang mungkin untuk mengakses server jarak jauh adalah melalui otentikasi kunci publik.

Kami telah berhasil mengonfigurasi SSH otentikasi berbasis kunci pada host jarak jauh yang memungkinkan Anda untuk masuk tanpa kata sandi. Ini adalah cara paling aman untuk masuk ke host jarak jauh asalkan kunci pribadi tetap rahasia dan rahasia.


Rocky Linux
  1. Cara Mengatur Kunci SSH di CentOS 8

  2. Cara Mengatur SSH Tanpa Kata Sandi di Linux

  3. Cara mengatur login SSH tanpa kata sandi di Linux

  1. Cara Mengatur Registri Docker Pribadi di Rocky Linux 8

  2. Cara Mengatur Login SSH Tanpa Kata Sandi

  3. Cara Setup SSH keys untuk SSH "public/private key" Login Di Linux

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Cara Mengatur kunci SSH untuk login ssh "tanpa kata sandi" di Linux

  3. Cara Mengatur kunci SSH untuk Login SSH “tanpa kata sandi” di CentOS/RHEL