Mengatur SSH Key di CentOS

Pendahuluan

SSH atau Secure Shell adalah protokol terenkripsi yang digunakan untuk mengelola dan berkomunikasi dengan server. Saat bekerja dengan server CentOS, Anda mungkin akan menghabiskan sebagian besar waktu di terminal yang terhubung ke server melalui SSH. Dalam panduan ini kita akan fokus pada cara mengatur SSH key untuk server CentOS. SSH Key menyediakan metode yang mudah dan aman untuk masuk ke server Anda.

Cara Mengatur SSH Key di CentOS

Untuk mengatur SSH Key di CentOS, Anda bisa mengikuti langkah-langkah berikut ini.

1. Masuk ke Server CentOS

Langkah pertama, silahkan Anda masuk ke server CentOS dengan menggunakan perintah berikut.

ssh usernameanda@ip-server

2. Membuat Pasangan Kunci RSA

Setelah masuk ke server, langkah selanjutnya yaitu Anda perlu membuat pasangan kunci pada mesin klein dengan memasukkan perintah berikut.

ssh-keygen

Secara default, perintah diatas akan membuat pasangan kunci RSA 2048-bit yang cukup aman untuk sebagian besar pengguna. Setelah memasukkan perintah diatas, Anda akan melihat keluaran berikut.

Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):

Silahkan tekan enter pada keyboard untuk menyimpan pasangan kunci ke .ssh/ subdirektori di direktori Anda.

3. Menambahkan Kunci Publik ke Server

Untuk menambahkan kunci publik ke host CentOS, Anda bisa menggunakan utilitas bernama ssh-copy-id. Metode ini sangat disarankan. Untuk menggunakannya, Anda perlu menentukan host jarak jauh yang ingin disambungkan dan akun pengguna yang memiliki akses SSH dengan kata sandi. Ini adalah akun tempat SSH Key publik Anda akan disalin. Jika sudah, silahkan masukkan perintah berikut.

ssh-copy-id username@remote_host

Perintah diatas akan menambahkan kunci publik Anda ke file ~/ .ssh/authorized_keys di server tujuan.

Apabila Anda tidak memiliki ssh-copy-id, namun memiliki akses berbasis kata sandi ke akun di server, Anda bisa mengunggah kunci dengan menggunakan metode SSH. untuk melakukannya, silahkan masukkan perintah berikut.

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Apabila Anda melihat pesan keluaran seperti berikut:

Output
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?

Itu artinya komputer lokal Anda tidak mengenali host jarak jauh. Ini akan terjadi saat pertama kali Anda terhubung ke host baru. Silahkan ketik yes lalu tekan enter untuk melanjutkan.

Setelah itu, Anda akan diminta memasukkan kata sandi akun pengguna jarak jauh:

Output
[email protected]'s password:

Setelah memasukkan kata sandi, konten id_rsa.pub kunci Anda akan disalin ke bagian akhir file authorized_keys akun pengguna jarak jauh.

Apabila Anda  tidak memiliki akses SSH berbasis kata sandi ke server Anda, Anda harus menyelesaikan proses ini secara manual. Caranya, silahkan masukkan perintah berikut.

cat ~/.ssh/id_rsa.pub

Setelah memasukkan perintah diatas, maka Anda akan melihat key publik kuncinya seperti dibawah ini:

Output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== sammy@host

Salin hasil keluaran dari perintah tersebut, kemudian masuk ke server yang ingin diakses dan tambahkan kunci publik tersebut ke file ~/.ssh/authorized_keys dengan perintah:

echo "key-publik-anda" >> ~/.ssh/authorized_keys

4. Masuk ke Server CentOS Menggunakan SSH Key

Langkah selanjutnya untuk mengatur SSH key di CentOS adalah dengan masuk ke server menggunakan SSH key Jika Anda berhasil menyelesaikan salah satu prosedur di atas, Anda sekarang dapat masuk ke host jarak jauh tanpa kata sandi akun jarak jauh.

Proses awalnya sama dengan otentikasi berbasis kata sandi:

ssh username@remote_host

Jika Anda tidak memberikan frasa sandi saat membuat pasangan kunci pada langkah 2, maka Anda akan langsung masuk. Namun, jika Anda memberikan frasa sandi, maka Anda akan diminta untuk memasukkannya sekarang. Setelah autentikasi, sesi shell baru akan terbuka dengan akun yang dikonfigurasi pada server CentOS.

5. Mengkonfigurasi SSH untuk Menggunakan Kunci

Sebelum melakukan bagian ini, pastikan Anda telah mengkonfigurasi autentikasi berbasis kunci SSH untuk akun root di server ini. Lebih baik lagi, Anda telah mengkonfirmasi autentikasi berbasis kunci tersebut untuk akun non-root di server ini dengan sudo. Langkah ini akan mengunci login berbasis kata sandi, jadi pastikan bahwa Anda masih bisa mendapatkan akses administratif.

Setelah Anda mengkonfirmasi bahwa akun jarak jauh Anda memiliki hak istimewa administratif, masuklah ke server jarak jauh Anda dengan kunci SSH, baik sebagai pengguna root atau dengan akun yang memiliki sudo. Kemudian, buka berkas konfigurasi daemon:</p>

sudo vi /etc/ssh/sshd_config

Cari dan pastikan opsi-opsi berikut sudah diatur sebagai berikut:

…
PubkeyAuthentication yes/no
…

Ketik yes pada PubkeyAuthentication untuk Mengaktifkan autentikasi berbasis kunci.

Ketik No pada PasswordAuthentication untuk Menonaktifkan autentikasi berbasis kata sandi, yang akan memastikan hanya kunci SSH yang digunakan untuk login.

6. Restart dan Uji Koneksi SSH

Setelah mengubah konfigurasi, langkah akhir dalam mengatur kunci SSH di CentOS yaitu melakukan restart layanan agar perubahan diterapkan, dengan memasukan perintah berikut:

sudo systemctl restart sshd

Kemudian, sebagai tindakan pencegahan, buka jendela terminal baru dan uji apakah layanan ini berfungsi dengan benar:

ssh username@remote_host

Setelah Anda memverifikasi layanan SSH sudah berfungsi dengan baik, maka Anda sudah bisa menutup semua sesi server saat ini dengan aman.

Penutup

Dengan mengikuti langkah-langkah diatas, maka sekarang Anda sudah bisa mengatur SSH Key di CentOS. Apabila Anda belum memiliki hosting, miliki layanan Cloud Hosting dengan performa terbaik hanya di IDCloudHost!