Gunakan ssh-keygen perintah untuk menghasilkan pasangan kunci autentikasi publik/pribadi . Kunci otentikasi memungkinkan pengguna untuk terhubung ke sistem jarak jauh tanpa memberikan kata sandi. Kunci harus dibuat untuk setiap pengguna secara terpisah. Jika Anda membuat pasangan kunci sebagai pengguna root, hanya root yang dapat menggunakan kunci tersebut.
Membuat kunci dan mengonfigurasi ssh tanpa kata sandi dengan perintah ssh-keygen
1. Gunakan -t pilihan untuk menentukan jenis kunci. Contoh:
# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 3a:b8:10:71:b7:ee:66:15:0f:a2:b0:89:ef:65:0b:f0 root@geeklab The key's randomart image is: +--[ RSA 2048]----+ | | | | | . . . | | .o ...o | |...+ ...S+ | |.oo..o .. . | | .E + +. | | .= +o. | | .. oo. | +-----------------+
Gunakan opsi –t untuk menentukan jenis kunci yang akan dibuat. Nilai yang mungkin adalah
a. “rsa1 ” untuk protokol versi 1
b. “dsa ”, “ecdsa ”, atau “rsa ” untuk protokol versi 2.
2. Anda memiliki opsi untuk menentukan frasa sandi untuk mengenkripsi bagian pribadi dari kunci. Jika Anda mengenkripsi kunci pribadi Anda, Anda harus memberikan frasa sandi setiap kali Anda menggunakan kunci tersebut. Ini mencegah penyerang, yang memiliki akses ke kunci pribadi Anda dan dapat menyamar sebagai Anda dan mengakses semua komputer yang Anda akses, untuk dapat melakukannya. Penyerang masih perlu memberikan frasa sandi.
3. Perintah ssh-key pada contoh langkah 1 menghasilkan dua kunci di direktori ~/.ssh:
$ ls ~/.ssh id_rsa id_rsa.pub
4. Untuk masuk ke, atau menyalin file ke, sistem jarak jauh tanpa memberikan kata sandi, salin kunci publik (~/.ssh/id_rsa.pub dalam contoh ini) ke ~/.ssh/authorized_keys pada sistem jarak jauh. Setel izin direktori ~/.ssh jarak jauh ke 700 . Untuk mengizinkan beberapa koneksi, tambahkan kunci publik ke file otor_keys pada sistem jarak jauh alih-alih menyalinnya. Contoh berikut menambahkan kunci publik:
$ cat id_rsa.pub >> authorized_keys
5.Anda kemudian dapat menggunakan alat ssh atau scp untuk mengakses sistem jarak jauh tanpa memberikan kata sandi.
Menegakkan otentikasi berbasis kunci
1. Anda dapat meningkatkan keamanan sistem lebih jauh lagi dengan menonaktifkan otentikasi kata sandi standar, dan menerapkan otentikasi berbasis kunci. Untuk melakukannya, setel PasswordAuthentication opsi untuk tidak di /etc/ssh/sshd_config file konfigurasi sebagai berikut:
# vi /etc/ssh/sshd_config PasswordAuthentication no
2. Ini melarang pengguna yang kuncinya tidak ada di authorized_keys file pengguna tertentu di server untuk terhubung melalui ssh. Sambungan ditolak dan pesan berikut muncul:
$ ssh remote_host Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
3. Menyetel PasswordAuthentication opsi untuk ya , yang merupakan default, mengizinkan pengguna menggunakan sandi untuk autentikasi.