Cara Menyiapkan Kunci SSH di Debian-based GNU/Linux

OpenSSH merupakan alat konektivitas utama untuk login jarak jauh dengan protokol SSH (Secure Shell). Dengan cara mengenkripsi semua lalu lintas untuk menghilangkan penyadapan, pembajakan koneksi dan serangan lainnya. Selain itu, OpenSSH menyediakan sejumlah besar kemampuan tunneling yang aman, beberapa metode otentikasi, dan opsi konfigurasi yang canggih[1]. SSH berjalan pada layer aplikasi di model jaringan TCP/IP.

OpenSSH menyediakan beragam alat yang sangat membantu kita untuk membuat kunci autentikasi, seperti yang akan diulas di sini, ssh-keygen dan ssh-copy-id.

SSH Keygen berguna untuk membuat pasangan kunci untuk autentikasi, kata "pasangan" mengartikan perintah ssh-keygen akan membuat dua kunci sekaligus, yang mana satu kunci bersifat pribadi (kunci ini harus anda simpan baik-baik, jangan sampai jatuh ke tangan orang lain) satu kunci lainnya bersifat publik (kunci ini dapat anda bagikan ke kolega anda untuk keperluan tertentu, misalnya manajemen VPS atau remote server).

SSH Copy Id berguna untuk menyalin kunci publik dan autentikasinya dengan kunci pribadi ke remote server yang di tuju, format penggunaan perintah ini seperti:
ssh-copy-id username@ip_remote_server

Nah, demikian teori seputar OpenSSH dan beberapa layanannya. Sekarang mari kita coba cara menyiapkan pasangan kunci SSH di Debian-based GNU/Linux.

Implementasi pada tutorial ini saya membutuhkan dua mesin, satu mesin sebagai client (kita akan membuat pasangan kunci tersebut di sini) menggunakan Ubuntu MATE 18.04, satu mesin lagi sebagai server (kita akan melakukan pengujian autentikasinya di sini) menggunakan Ubuntu Server 18.04 yang terinstal di VirtualBox. Untuk urusan koneksi internet, saya memanfaatkan penambatan dari hape. Baiklah, mari kita coba bersama, dimulai dari:

Instal Paket Beserta Dependensinya


Kita memerlukan paket OpenSSH Server dan OpenSSH Client, jika anda sudah menginstalnya, anda dapat melewati langkah ini, namun jika anda belum menginstalnya, lakukan penginstalan peket OpenSSH Server dengan perintah berikut:
sudo apt install openssh-server openssh-client

Jika sudah terpasang dengan baik, mari kita lanjutkan ke langkah berikutnya.

Membuat Pasangan Kunci


Dibagian ini, kita akan membuat dua buah kunci, privat dan publik, untuk itu jalankan perintah berikut:
ssh-keygen

Setelah perintah tersebut dijalankan, sistem akan bertanya kepada anda "Enter file in which to save the key (/home/user/.ssh/id_rsa):" pada pertanyaan ini klik saja Enter. Jika anda baru pertama kali membatnya, sistem akan membuat direktori .ssh.

Pertanyaan selanjutnya sistem menawarkan apakah anda ingin memasukkan passphrase (semacam password) untuk melindungi kunci anda. Cukup tekan enter jika anda tidak menginginkannya, namun alangkah lebih baik jika anda mengisinya. Jika anda mengisinya, sistem akan meminta anda untuk mengisi dengan passphrase yang sama.



Sampai langkah ini, anda telah memiliki kunci pribadi yang disimpan di /home/user/.ssh/id_rsa dan kunci publik yang disimpan di /home/user/.ssh/id_rsa.pub.
Ingat! jangan pernah membagikan kunci pribadi anda ke orang lain yang tidak seharusnya memiliki akses, namun anda dapat membagikan kunci publik anda kepada siapapun.

Salin Kunci Publik Anda ke Server


Ada dua cara yang dapat anda pilih untuk menyalin kunci publik anda ke server tertentu, gunakan ssh-copy-id atau dengan manual copy.

opsi 1: Gunakan perintah ssh-copy-id


Kegunaan perintah ssh-copy-id sudah saya jelaskan di atas beserta format penggunaanya, di sini mari kita mencobanya. Yang anda perlukan adalah nama pengguna server dan IP-nya.
ssh-copy-id chotibul@192.168.43.140

Sampai pada langkah ini, kita telah mengcopykan kunci publik kita ke server, kunci publik tersebut tersimpan di berkas /home/user/.ssh/authorized_keys.

opsi 2: Pasang kunci publik secara manual


Pada bagian ini kita harus menyalin kunci publik milik kita di komputer client, gunakan perintah berikut:
cat ~/.ssh/id_rsa.pub

 



Salin semua kunci publik anda (lihat bagian gambar yang saya block).

Sekarang, beralihlah ke komputer server anda, pastikan anda login bukan sebagai root, dan pastikan anda berada di /home/user/, di konsole ditandai dengan pengguna@ubuntu:~$.

Buat direktori baru bernama .ssh dan atur hak aksesnya.
mkdir -p ~/.ssh
chmod 700 ~/.ssh

Buat berkas baru dengan nama authorized_keys dengan perintah berikut:
nano ~/.ssh/authorized_keys

Tempelkan kunci publik yang sudah anda salin tadi. lalu simpan. Rubah hak aksesnya dengan perintah berikut:
chmod 600 ~/.ssh/authorized_keys

Sampai disini anda sudah mengimport kunci publik anda ke server.

Tes Masuk Via SSH


Sekarang kita dapat melakukan remote ke server dengan perintah berikut dari komputer client:
ssh 'chotibul@192.168.43.140'

Jika saat membuat pasangan kunci tadi anda mengisikan passphrase anda dapat memasukkannya saat ini.

Nonaktifkan Otentikasi Kata Sandi


Kini, pengguna biasa sudah dapat melakukan login dengan memanfaatkan kunci SSH, kita dapat meningkatkan keamanan server dengan menonaktifkan otentikasi sandi bawaan. Hasilnya hanya orang-orang yang telah memiliki kunci SSH saja yang dapat masuk ke server.

Buka konfigurasi SSH Daemon dengan perintah berikut:
sudo nano /etc/ssh/ssd_config

Selanjutnya, sesuaikan beberapa konfigurasi berikut ini dan hapus tanda pagar di depannya.

PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no


Simpan hasil konfigurasi, lalu muat ulang layanan sshd.
sudo systemctl restart sshd

Kesimpulan


Layanan SSH membantu anda untuk "lebih" mengamankan jalur konektivitas antara anda dan server anda. Langkah-langkah di atas lebih sering diterapkan saat kita memiliki VPS dengan memanfaatkan IP publik. Dengan memanfaatkan layanan ini, anda lebih terlindungi dari beberaa kemungkinan penyalah gunaan yang kerap terjadi.

Sumber


[1] https://www.openssh.com/

https://www.codepolitan.com/yang-perlu-dilakukan-setelah-memasang-server-ubuntu-1604-59e632bf00c74

 

Komentar

Postingan populer dari blog ini

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Cara Memperbaiki Masalah "KVM virtualisation is configured, but not available" di Proxmox

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya