Apa itu SSH ?
SSH adalah singkatan dari Secure Shell, yaitu protokol jaringan yang digunakan untuk mengamankan koneksi jaringan antara dua perangkat yang terhubung melalui jaringan yang tidak aman, seperti internet. SSH memungkinkan pengguna untuk mengakses dan mengendalikan perangkat jarak jauh secara aman dengan melakukan enkripsi data yang dikirimkan antara kedua perangkat.
SSH banyak digunakan dalam dunia IT, terutama dalam mengakses dan mengelola server jarak jauh. Dalam konteks ini, SSH memungkinkan administrator server untuk melakukan tugas-tugas administratif pada server tanpa harus berada di lokasi fisik server tersebut. Dalam beberapa kasus, SSH juga digunakan untuk mengakses dan mengontrol perangkat lain seperti router dan switch jaringan.
Bagaimana SSH bekerja ?
SSH bekerja dengan menggunakan teknologi kriptografi untuk melindungi komunikasi antara kedua perangkat yang terhubung melalui jaringan. Kriptografi digunakan untuk menyandikan pesan yang dikirim antara kedua perangkat sehingga hanya penerima yang dituju yang dapat membaca dan memahami isi pesan tersebut. Ini membuat komunikasi antara kedua perangkat menjadi lebih aman, karena data yang ditransmisikan tidak dapat diakses oleh pihak lain yang tidak berwenang.
Secara umum, proses kerja SSH adalah sebagai berikut:
-
Klien SSH (biasanya program seperti PuTTY atau OpenSSH) meminta koneksi ke server SSH dengan menggunakan nama host dan port.
-
Server SSH memberikan respon dengan mengirimkan sertifikat digital, yang berisi kunci publik dan informasi lainnya yang diperlukan untuk melakukan enkripsi dan dekripsi data.
-
Klien SSH memverifikasi sertifikat digital tersebut untuk memastikan bahwa koneksi yang dibuat benar-benar ke server yang dimaksudkan.
-
Setelah sertifikat digital telah diverifikasi, klien SSH dan server SSH saling menukar kunci enkripsi, yang akan digunakan untuk mengamankan koneksi antara kedua perangkat.
-
Setelah kunci enkripsi berhasil ditukar, koneksi antara klien SSH dan server SSH dianggap aman, dan keduanya dapat memulai pertukaran data yang dienkripsi.
Dengan cara ini, SSH memungkinkan pengguna untuk mengakses dan mengendalikan perangkat jarak jauh dengan cara yang aman dan terenkripsi, sehingga meminimalkan risiko penyadapan atau pemalsuan data oleh pihak yang tidak berwenang.
Port yang digunakan untuk SSH
Port default yang digunakan untuk koneksi SSH adalah Port 22. Namun, port SSH dapat dikonfigurasi untuk menggunakan port yang berbeda jika diinginkan. Konfigurasi ini dilakukan di server SSH dan/atau di klien SSH yang digunakan untuk mengakses server tersebut.
Informasi antar server
Untuk bisa terhubung ke server, kita bisa menggunakan beberapa aplikasi pihak ketiga contohnya seperti Putty, MobaXterm, Termius dan lain sebagainya. Untuk terhubung ke server menggunakan SSH, server harus terlebih dahulu dizinkan aksesnya ke port 22, karena SSH dapat berjalan menggunakan port tersebut.
Disini saya sudah menyiapkan 2 buah server yang saya buat dengan menggunakan Vagrant, tutorial bisa dicari diartikel sebelumnya. Berikut detail terkait 2 server tersebut:
- Server 1:
- username : admin-node-1
- hostname : ubuntu-node-1
- ip addres : 10.10.10.10
- password : node1
- Server 2:
- username : admin-node-2
- hostname : ubuntu-node-2
- ip addres : 10.10.10.20
- password : node2
Perlu diingat, di dua sever diatas autentikasi public saya aktifkan agar bisa login antar server menggunakan password di
/etc/ssh/sshd_config
sebagai contoh pembelajaran.
Membuat SSH Keygen
Berikut adalah langkah-langkah untuk membuat SSH keygen agar bisa mengakses ke server:
-
Buka terminal atau command prompt di komputer Anda.
-
Ketik perintah berikut untuk memulai pembuatan kunci SSH keygen:
Perintah ini akan membuat kunci SSH dengan algoritma enkripsi RSA.
-
Anda akan diminta untuk menentukan lokasi penyimpanan kunci SSH. Anda dapat menekan tombol Enter untuk menggunakan lokasi default atau memilih lokasi penyimpanan yang berbeda dengan mengetikkan lokasi yang diinginkan.
-
Kemudian, Anda akan diminta untuk memasukkan passphrase untuk kunci SSH. Passphrase adalah kata sandi yang digunakan untuk melindungi kunci SSH. Anda dapat memasukkan passphrase atau menekan tombol Enter untuk tidak menggunakan passphrase.
-
Kunci SSH publik dan pribadi akan dibuat di lokasi yang Anda pilih pada langkah ke-3. Kunci publik akan disimpan di file dengan ekstensi .pub dan kunci pribadi akan disimpan di file tanpa ekstensi.
Copy key ke server tujuan
- Selanjutnya, kunci publik yang baru dibuat perlu disalin ke server SSH yang akan diakses. Anda dapat menggunakan perintah berikut untuk menyalin kunci publik ke server:
-
Ganti username dengan nama pengguna Anda pada server dan alamat_ip_server dengan alamat IP server yang akan diakses.
-
Anda akan diminta untuk memasukkan kata sandi untuk akun pada server SSH. Setelah berhasil memasukkan kata sandi, kunci publik Anda akan disalin ke file authorized_keys pada server.
-
Jika berhasil maka akan tampil seperti ini:
Setelah di ssh-copy-id dan login ssh, maka akan tampil seperti ini
Mengecek akses server tujuan
Untuk mengeceknya bisa dengan command dibawah ini:
Jika menampilkan user dan hostname, maka sebenarnya kita sudah bisa akses ssh ke server tanpa perlu password lagi atau passwordless.