Konfigurasikan Otentikasi Kunci Publik SSH di Linux

Panduan ini menyajikan cara paling sederhana tentang cara mengkonfigurasi otentikasi kunci publik SSH di server Linux. Masuk ke sistem melalui kunci publik SSH lebih aman dibandingkan dengan otentikasi password. Dalam panduan kami sebelumnya, kami membahas cara menonaktifkan login password SSH untuk user tertentu. Perhatikan bahwa ketika Anda menonaktifkan otentikasi password untuk user, satu-satunya cara untuk masuk adalah dengan menggunakan kunci SSH.

Konfigurasikan Otentikasi Kunci Publik SSH di Linux

Untuk mengizinkan otentikasi kunci publik SSH secara eksplisit bagi siapa saja yang masuk ke sistem Linux, Anda harus menonaktifkan otentikasi password SSH. Ini dapat dilakukan dengan mengatur nilai PasswordAuthenticationdirektif ke nodalam sshd_configfile. Secara default, SSH dikonfigurasi untuk mengizinkan login berbasis password. Itu sebabnya Anda masih bisa masuk dengan arahan yang PasswordAuthenticationdisetel ke ya dan berkomentar.

vim /etc/ssh/sshd_config
... # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes PasswordAuthentication no...

Jika Anda perlu menonaktifkan otentikasi password untuk user tertentu, gunakan arahan Match untuk menentukan user. Lihat artikel kami sebelumnya untuk lebih jelasnya.

Reload SSHd.

systemctl reload ssh

Selanjutnya, jika Anda mencoba masuk tanpa kunci publik SSH user telah dicopy ke server target, Anda akan mendapatkan file Permission denied (publickey).

ssh [email protected] [email protected]: Permission denied (publickey).

NOTEbahwa sebelum Anda dapat mengonfigurasi SSH untuk mengizinkan otentikasi kunci publik saja, Anda harus terlebih dahulu membuat dan menyalin kunci SSH untuk user yang ingin Anda gunakan untuk masuk, agar Anda tidak dapat menyalin kunci SSH atau masuk sebagai user itu kemudian. Karena itu,

Hasilkan Kunci SSH

Kunci SSH dapat dibuat menggunakan ssh-keygenalat command line.

ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/home/mibey/.ssh/id_rsa): ENTER Enter passphrase (empty for no passphrase): [email protected] Enter same passphrase again: [email protected] Your identification has been saved in /home/mibey/.ssh/id_rsa. Your public key has been saved in /home/mibey/.ssh/id_rsa.pub. key fingerprint is: SHA256:DNxhVMB08hrzDPi0CbZiMbYxgtNBEkSjMyDqvLL9T8c [email protected] key's randomart image is: +---[RSA 2048]----+ |B*o +Boo | |=+... +.= | |B o * * *. | |o+ o B B X | | o +. S o | |.... | |... E | |.o.. | |...... | +----[SHA256]-----+

Jika Anda perlu membuat kunci tanpa password, biarkan prompt password kosong dengan menekan ENTER. Jika Anda perlu menyimpan kunci ke file yang berbeda, tentukan jalur file.

Perhatikan bahwa untuk menghasilkan kunci SSH untuk user tertentu, Anda harus masuk sebagai user itu. File kunci biasanya disimpan di ~/.sshdirektori

Copy Kunci SSH ke Server

Setelah Anda membuat kunci, Anda dapat menginstalnya sebagai kunci resmi di server menggunakan ssh-copy-idperintah.

ssh-copy-id [email protected] /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/mibey/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: USER PASSWORD Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.

Jika kunci tidak disimpan pada direktori default, Anda dapat menentukan file menggunakan -iopsi.

ssh-copy-id -i ~/.mykeys [email protected]

Sekarang, jika Anda mencoba masuk ke server, Anda akan diminta untuk memasukkan frasa sandi kunci jika Anda telah menandatanganinya dengan frasa sandi. Jika tidak, itu hanya akan masuk tanpa prompt frasa sandi.

ssh '[email protected]' Enter passphrase for key '/home/mibey/.ssh/id_rsa': KEY PASSPHRASE

Ini akan membaca kunci SSH dari direktori default. Untuk menentukan kunci yang berbeda, berikan opsi -i.

ssh -i ~/.mykeys '[email protected]'

Setiap user lain yang mencoba masuk tanpa kunci SSH, akan mendapatkan;

ssh [email protected] [email protected]: Permission denied (publickey).

Itu semua tentang cara mengkonfigurasi otentikasi kunci publik SSH di sistem Linux.

Jika Anda perlu mengizinkan atau menolak user tertentu untuk masuk ke server linux, periksa artikel kami sebelumnya;

  • Izinkan/Tolak Pengguna Tertentu untuk Masuk melalui SSH di Ubuntu 18.04

Related Posts

© 2022 Tekno Sridianti