GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menggunakan Otentikasi Kunci Publik dengan SSH

Pendahuluan

Otentikasi Kunci Publik adalah metode logging yang aman menggunakan SSH. Alih-alih kata sandi, prosedur ini menggunakan pasangan kunci kriptografik untuk validasi. Meskipun menggunakan sandi yang kuat membantu mencegah serangan brute force, autentikasi kunci publik memberikan kekuatan kriptografis dan login otomatis tanpa sandi.

Panduan ini memberikan petunjuk langkah demi langkah tentang cara menerapkan autentikasi kunci publik dari awal.

Prasyarat

  • Akses baris perintah/terminal dengan hak administrator.
  • SSH diaktifkan. Ikuti panduan kami untuk mengaktifkan SSH di Linux:Ubuntu 18.04, Debian 9 atau 10.
  • Server lokal dan jauh.

Menggunakan Kunci SSH untuk otentikasi

Otentikasi kunci publik SSH memiliki empat langkah:

1. Buat kunci pribadi dan publik, yang dikenal sebagai pasangan kunci . Kunci pribadi tetap berada di mesin lokal.

2. Tambahkan kunci publik yang sesuai ke server.

3. Server menyimpan dan menandai kunci publik sebagai disetujui.

4. Server mengizinkan akses ke siapa saja yang membuktikan kepemilikan kunci pribadi yang sesuai.

Model mengasumsikan kunci pribadi diamankan. Menambahkan frasa sandi untuk mengenkripsi kunci pribadi menambahkan lapisan keamanan yang cukup baik untuk sebagian besar kasus berbasis pengguna. Untuk tujuan otomatisasi, perangkat lunak dan praktik manajemen kunci berlaku karena kunci pribadi tetap tidak terlindungi.

Membuat Pasangan Kunci SSH

Hasilkan pasangan kunci SSH di server lokal menggunakan OpenSSH. Petunjuk dasar untuk Linux, macOS, dan Windows diuraikan di bawah ini.

Linux dan macOS

1. Buka terminal (CTRL +ALT +B ).

2. Periksa kunci yang ada dengan:

ls -l ~/.ssh/id*

Jika sudah ada kunci, output menunjukkan isi direktori:

Membuat kunci baru akan menimpa yang sekarang secara default. Namun, menyatakan nama baru untuk kunci akan menyimpannya ke file yang berbeda.

Jika tidak ada kunci yang ada, output menunjukkan folder tidak ada:

3. Buat direktori menggunakan perintah mkdir untuk menyimpan pasangan kunci baru:

mkdir ~/.ssh

4. Ubah izin menjadi 700:

chmod 700 ~/.ssh

5. Perintah berikut memulai generator kunci:

ssh-keygen

Output mencetak pesan, menunjukkan perintah berhasil dijalankan. Selanjutnya, program menanyakan di mana menyimpan file:

Direktori dan file default untuk penyimpanan kunci adalah /home//.ssh/id_rsa . Jika Anda memiliki kunci yang ingin Anda simpan, masukkan nama file baru. Jika tidak, tekan Enter untuk menyimpan di lokasi default. Jika ada kunci yang sudah ada di lokasi ini, program akan menimpa data.

6. Terakhir, masukkan frasa sandi untuk mengamankan kunci. Tekan Enter dan konfirmasikan frasa sandi sekali lagi saat diminta. Kata sandi diperlukan setiap kali Anda menggunakan kunci untuk otentikasi.

7. Terakhir, program mencetak informasi tentang di mana kunci disimpan. Selain itu, representasi digital dan grafis juga dicetak ke konsol.

8. Konfirmasikan bahwa kunci ada di direktori dengan memeriksa isinya:

 ls -l ~/.ssh/

Direktori sekarang berisi dua file:

  • id_rsa adalah kunci pribadi.
  • id_rsa.pub adalah kunci publik.

Windows

1. Gunakan kotak pencarian Windows untuk menemukan cmd dan buka jendela Command Prompt.

2. Pada prompt, ketik:

ssh-keygen

Perintah memulai program untuk menghasilkan pasangan kunci.

3. Jika Anda menyiapkan lokasi tertentu untuk tombol, ketikkan jalurnya sekarang. Jika tidak, tekan Enter untuk menyimpan kunci di jalur default.

Jika ada kunci di lokasi ini, output akan meminta konfirmasi penimpaan. Ketik Y untuk mengonfirmasi dan tekan Enter untuk melanjutkan penyiapan.

4. Masukkan frasa sandi untuk mengenkripsi kunci pribadi. Masukkan kembali frasa sandi yang sama dan tekan Enter untuk menyelesaikan pembuatan pasangan kunci.

Mengonfigurasi satu atau beberapa Pengguna SSH/SFTP untuk Kunci Anda

Setelah membuat pasangan kunci, langkah selanjutnya adalah mengonfigurasi mesin server untuk pengguna SSH dan SFTP untuk kunci tersebut.

1. Pada mesin server, periksa apakah ~/.ssh folder ada:

ls -l ~/.ssh/

Jika direktori tidak ada, buat folder:

mkdir ~/.ssh

Selanjutnya, ubah izin dengan:

chmod 700 ~/.ssh

2. Buat file bernama authorized_keys di ~/.ssh direktori:

touch authorized_keys

Ubah izin:

chmod 600 ~/.ssh/authorized_keys

3. Selanjutnya, buka authorized_keys file menggunakan editor teks. Salin konten kunci publik ke authorized_keys mengajukan. Untuk beberapa pengguna dan kunci, salin setiap kunci baru ke baris baru. Simpan file dan tutup.

Di Linux, gunakan perintah ini untuk menyalin kunci secara otomatis:

ssh-copy-id <username>@<host>

Output menunjukkan jumlah kunci yang secara otomatis disalin ke server bersama dengan instruksi lebih lanjut.

Untuk mentransfer file melalui SSH, ada beberapa solusi:

  • Gunakan SSHFS untuk Linux, macOS, atau Windows
  • Gunakan RSync sebagai alternatif untuk Linux.

Masuk

Setelah membuat dan menyalin kunci, masuk ke server Anda dari mesin lokal menggunakan perintah berikut:

ssh <username>@<host>

Perintah tersebut menampilkan prompt untuk memasukkan kata sandi kunci pribadi:

Terakhir, masukkan kata sandi untuk membuka kunci:

Setelah diverifikasi, perintah memasukkan Anda ke server melalui SSH.

Mengapa Anda harus menggunakan Otentikasi Kunci Publik dengan SSH?

Otentikasi kunci publik adalah cara yang lebih aman dan disarankan untuk terhubung dengan SSH daripada login dengan sandi biasa.

Beberapa manfaatnya adalah:

  • Pasangan kunci SSH lebih sulit diretas. Karena sebagian besar kunci SSH setidaknya memiliki panjang 1024 bit, yang setara dengan kata sandi dengan 12 karakter, koneksi aman. Untuk meningkatkan keamanan lebih jauh, tambah jumlah bit saat membuat kunci.
  • Isi kunci dibuat menggunakan algoritme komputer, sehingga lebih sulit diprediksi.
  • Hanya mesin tempat kunci pribadi berada yang memiliki akses.
  • Otentikasi kunci publik tidak pernah menampilkan konten kunci pribadi ke server. Jika server disusupi, mesin lokal tetap aman.
  • Kata sandi yang ditambahkan ke kunci pribadi menambahkan otentikasi multi-faktor.

Ubuntu
  1. Bagaimana Cara Menggunakan Ssh-copy-id Dengan Multiple-hop Ssh Tunnel?

  2. Bagaimana Cara Mengambil Kunci Publik Dari Kunci Pribadi Ssh?

  3. Cara Mengatur Kunci SSH di Ubuntu 16.04

  1. Cara menggunakan kunci SSH dengan Plesk

  2. Cara Mengatur Kunci SSH

  3. Cara Mengatur Kunci SSH di Ubuntu 18.04

  1. Cara Mengatur Kunci SSH di Ubuntu 18.04

  2. Cara Mengatur Kunci SSH di Ubuntu 20.04

  3. Ssh – Masih Mendapatkan Prompt Kata Sandi Dengan Ssh Dengan Otentikasi Kunci Publik?