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.
Tutorial ini menjelaskan cara menghasilkan kunci SSH pada sistem CentOS 7. 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 #
Sebelum membuat pasangan kunci SSH baru, sebaiknya periksa kunci SSH yang ada di mesin klien CentOS Anda.
Untuk melakukannya, jalankan perintah ls berikut yang mencantumkan semua kunci publik jika ada:
ls -l ~/.ssh/id_*.pub
Jika output dari perintah mengembalikan sesuatu seperti No such file or directory
atau no matches found
itu berarti Anda tidak memiliki kunci SSH di mesin klien Anda, dan Anda dapat melanjutkan ke langkah berikutnya dan membuat pasangan kunci SSH.
Jika ada kunci yang ada, Anda dapat menggunakannya dan melewati langkah berikutnya atau mencadangkan kunci lama dan membuat yang baru.
Mulailah dengan membuat pasangan kunci SSH 4096 bit baru dengan alamat email Anda sebagai komentar:
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. Jika Anda memilih untuk menggunakan frasa sandi, Anda akan mendapatkan lapisan keamanan ekstra.
Enter passphrase (empty for no passphrase):
Jika Anda tidak ingin menggunakan frasa sandi cukup tekan Enter
.
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
Salin Kunci Publik ke Server CentOS #
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 utilitas bernama ssh-copy-id
. Pada jenis terminal mesin lokal Anda:
ssh-copy-id remote_username@server_ip_address
Anda akan diminta untuk memasukkan remote_username
kata sandi:
remote_username@server_ip_address's password:
Ketik kata sandi, dan setelah pengguna diautentikasi, kunci publik ~/.ssh/id_rsa.pub
akan ditambahkan ke ~/.ssh/authorized_keys
pengguna jarak jauh mengajukan. Sambungan 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
utilitas 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.