Secure Shell (SSH) adalah protokol jaringan kriptografi yang dirancang untuk koneksi aman antara klien dan server.
Dua mekanisme otentikasi SSH yang paling populer adalah otentikasi berbasis kata sandi dan otentikasi berbasis kunci publik. Menggunakan kunci SSH umumnya lebih aman dan nyaman daripada otentikasi kata sandi tradisional.
Artikel ini menjelaskan cara membuat kunci SSH pada sistem CentOS 8. Kami juga akan menunjukkan cara menyiapkan autentikasi berbasis kunci SSH dan menyambung ke server Linux jarak jauh tanpa memasukkan kata sandi.
Membuat kunci SSH di CentOS #
Kemungkinan Anda sudah memiliki pasangan kunci SSH di mesin klien CentOS Anda. Jika Anda membuat pasangan kunci baru, yang lama akan ditimpa.
Jalankan ls
berikut ini perintah untuk memeriksa apakah file kunci ada:
ls -l ~/.ssh/id_*.pub
Jika output dari perintah mengembalikan sesuatu seperti No such file or directory
, atau no matches found
artinya pengguna tidak memiliki kunci SSH, dan Anda dapat melanjutkan ke langkah berikutnya dan membuat pasangan kunci SSH.
Jika tidak, jika Anda memiliki pasangan kunci SSH, Anda dapat menggunakannya atau mencadangkan kunci lama dan membuat yang baru.
Untuk menghasilkan pasangan kunci SSH 4096 bit baru dengan alamat email Anda sebagai komentar, jalankan:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Anda akan diminta untuk menentukan nama file:
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
Tekan Enter
untuk menerima lokasi file default dan nama file.
Selanjutnya, Anda akan diminta untuk mengetikkan kata sandi yang aman. Apakah Anda ingin menggunakan frasa sandi, terserah Anda. Frasa sandi akan menambahkan lapisan keamanan ekstra. Jika Anda tidak ingin menggunakan frasa sandi cukup tekan Enter
.
Enter passphrase (empty for no passphrase):
Seluruh interaksi terlihat seperti ini:
Untuk memverifikasi pasangan kunci SSH baru Anda dibuat, ketik:
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
Itu dia. Anda telah berhasil membuat pasangan kunci SSH di mesin klien CentOS Anda.
Salin Kunci Publik ke Server #
Setelah pasangan kunci SSH dibuat, langkah selanjutnya adalah menyalin kunci publik ke server yang ingin Anda kelola.
Cara termudah dan direkomendasikan untuk menyalin kunci publik ke server jauh adalah dengan menggunakan ssh-copy-id
kegunaan. Pada jenis terminal mesin lokal Anda:
ssh-copy-id remote_username@server_ip_address
Perintah akan meminta Anda untuk memasukkan remote_username
kata sandi:
remote_username@server_ip_address's password:
Setelah pengguna diautentikasi, konten file kunci publik (~/.ssh/id_rsa.pub
) akan ditambahkan ke pengguna jarak jauh ~/.ssh/authorized_keys
file, dan koneksi akan ditutup.
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.
Jika ssh-copy-id
tidak tersedia di komputer lokal Anda, gunakan perintah berikut untuk menyalin kunci publik:
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Login ke server Anda menggunakan kunci SSH #
Setelah menyelesaikan langkah-langkah di atas, Anda seharusnya dapat masuk ke server jarak jauh tanpa dimintai kata sandi.
Untuk memverifikasinya, coba login ke server Anda melalui SSH:
ssh remote_username@server_ip_address
Jika Anda belum menetapkan kata sandi untuk kunci pribadi, Anda akan segera masuk. Jika tidak, Anda akan diminta memasukkan frasa sandi.
Menonaktifkan Otentikasi Kata Sandi SSH #
Untuk menambahkan lapisan keamanan tambahan ke server jarak jauh, Anda dapat menonaktifkan otentikasi kata sandi SSH.
Sebelum melanjutkan, pastikan Anda dapat masuk ke server Anda tanpa kata sandi sebagai pengguna dengan hak istimewa sudo.
Ikuti langkah-langkah di bawah ini untuk menonaktifkan otentikasi kata sandi SSH:
-
Masuk ke server jarak jauh Anda:
ssh sudo_user@server_ip_address
-
Buka file konfigurasi SSH
/etc/ssh/sshd_config
dengan editor teks Anda:sudo nano /etc/ssh/sshd_config
-
Cari arahan berikut dan modifikasi sebagai berikut:
/etc/ssh/sshd_configPasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
-
Setelah selesai simpan file dan restart layanan SSH dengan mengetik:
sudo systemctl restart ssh
Pada titik ini, otentikasi berbasis kata sandi dinonaktifkan.