Remote access menggunakan linux

Zakaria Ramadan
3 min readJul 4, 2023

--

Icon SSH

Apa itu SSH ?

SSH merupakan salah satu protokol transfer jaringan yang memungkinkan kita untuk meremote dan memodifikasi perangkat dari jarak jauh melalui internet. Dengan adanya ssh kita bisa membuat atau mengedit file di server yang jauh dari tempat tinggal kita. Jika dulu kita meremote server menggunakan telnet yang keamanannya kurang maka ssh bisa menjadi alternatif lain yang bisa dibilang keamannanya terjaga dengan baik. SSH menggunakan 3 keamanan teknologi enkripsi, yaitu enkripsi asimetris, simetris, dan hashing.

Jenis-Jenis Enkripsi SSH

Berikut penjelasan singkat tentang ketiga jenis enkripsi data yang ada pada SSH:

  • Enkripsi simetris — menggunakan satu secret key untuk mengenkripsi dan mendekripsi data dari client dan juga host. Secret key tersimpan pada server dan client. Selama proses transfer, kunci tersebut tidak ikut dipindahkan.
  • Ssimetris Enkripsi — menggunakan dua key terpisah untuk melakukan enkripsi dan dekripsi data yang membentuk pasangan kunci public-private key pair. Data yang di enkripsi oleh public key hanya bisa dideskripsikan oleh private key pasangannya.
  • Hashing — teknik transfer satu arah yang tidak bisa di deskripsi, kegunaanya untuk memastikan bahwa data yang dikirim melalui SSH tidak dimodifikasi oleh hacker dan pihak manapun.

Alasan mengapa banyak orang memakai ssh

  1. Mengontrol server dengan lebih mudah dan bebas — Anda bisa dengan mudah mengakses dan mengontrol file dan pengaturan yang ada pada hosting tanpa harus mendatangi dimana server fisik tersimpan.
  2. Menghindari cyber crime — dengan ketiga teknik kriptografi yang ada, SSH akan secara otomatis memutus koneksi jika mendeteksi aktivitas mencurigakan saat proses transfer terjadi. Tentunya hal ini akan melindungi Anda dari hacker dan malware.
  3. DNS dan IP spoofing — fitur spoofing yang ada di SSH berfungsi untuk melindungi proses transfer dari hacker atau peretas, untuk lebih jelasnya baca artikel tentang spoofing berikut ini.
  4. Keamanan yang terjamin — dengan sistem autentikasi dan enkripsi data, koneksi data yang dilakukan melalui SSH mempunyai keamanan yang ketat dan terjamin.

Cara Kerja SSH

Sistem operasi seperti Linux dan MacOs sudah memiliki SSH client default yang terpasang pada terminal yang ada pada sistemnya.

Pada proses koneksi ini, SSH client menggunakan teknik kriptografi untuk melakukan otentikasi dan identifikasi SSH server.

Jika kunci yang dipakai SSH client tidak sama dengan kunci yang ada pada server, koneksi akan secara otomatis gagal.

Selanjutnya, koneksi yang sukses akan dienkripsi melalui symmetric encryption dan hashing yang berfungsi untuk memastikan privasi dan keutuhan data yang ditukar selama proses transfer.

Untuk membuat Anda memahami lebih jelas cara kerja SSH, berikut adalah beberapa tahapan-tahapannya:

  1. SSH client melakukan koneksi ke SSH server menggunakan port default 22.
  2. Jika SSH client dan SSH server menggunakan versi yang sama, koneksi akan sukses.
  3. Selanjutnya, SSH client meminta public key dan host key dari SSH server dan melakukan verifikasi.
  4. Jika kedua kunci yang digunakan sama, SSH client akan membentuk session key dan mengenkripsi kunci tersebut melalui public key milik SSH server.
  5. Kemudian, SSH server akan mengenkripsi balik public key milik SSH client untuk verifikasi.
  6. User dari SSH client lalu harus melakukan otentikasi diri dengan cara memasukan username dan password yang sudah ada.

Setelah verifikasi pengguna berhasil, koneksi sudah terbentuk dengan aman. !

Konfigurasi Openssh di linux

Intall openssh server di linux

# Debian/Ubuntu
$ apt install openssh-server -y

# RedHat/Centos
$ yum install openssh-server -y

Permit root login ssh

# Edit file konfigurasi
vim /etc/ssh/sshd_config

# Cari kata "PermitRootLogin" dan edit konfigurasi seperti ini
PermitRootLogin yes

# Simpan file konfigurasi dan restart service sshd
$ systemctl restart sshd

Merubah port ssh (default port 22)

# Edit file konfigurasi
vim /etc/ssh/sshd_config

# Cari kata "Port 22" dan edit konfigurasinya seperti ini
Port 2077

# Simpan file konfigurasi dan restart service sshd
$ systemctl restart sshd

Transfer file dengan SCP

# Upload File 
$ scp file user@dst-ip

# Download
$ scp user@src-ip:~/file dstfile

# Example
$ scp index.txt root@10.23.2.1
$ scp root@10.23.2.1:~/index.txt index.txt

Bypass authentikasi ssh

# Generate rsa key
$ ssh-keygen -t rsa

# Using command ssh-copy-id for linux os
$ ssh-copy-id root@10.23.2.1

Jumping host from server to other server

 
ssh -J root@10.23.2.191 root@10.23.2.192

--

--