authoryanuarakhid - 6 Apr 2021 • Baca 6 Menit

Tutorial Ubuntu 20.04 LTS : Cara Instalasi Konfigurasi dan Basic Penggunaan SSH Server menggunakan OpenSSH


Tutorial Ubuntu 20.04 LTS : Cara Instalasi Konfigurasi dan Basic Penggunaan SSH Server menggunakan OpenSSH

SSH (Secure Shell)


SSH (Secure Shell) merupakan protocol jaringan yang sering kali kita digunakan untuk melakukan remote ke perangkat jaringan seperti server maupun router. Protocol ini hadir untuk menutup kekurangan dari telnet yaitu dengan menghadirkan koneksi yang lebih aman saat melakukan remote berupa penambahan fitur enkripsi yang baik sehingga hingga sekarang protokol ini masih sering dan banyak digunakan. Berbeda dengan telnet yang tidak memiliki koneksi yang tidak terenkripsi maksudnya data yang dikirim/diterima berupa plaintext alhasil protokol telnet dapat di intercept dari luar sehingga pihak-pihak yang tidak berkepentingan dapat mengetahui lalu lintas data dan paket paket yang dikirimkan menggunakan protokol tersebut. Pada postingan ini kita akan melakukan instalasi SSH Server menggunakan OpenSSH pada Ubuntu 20.04 LTS Server serta cara penggunaan dari untilitas-untilitas yang menggunakan protokol ini seperti SSH, SCP ataupun SFTP.

OpenSSH Server

OpenSSH merupakan alat kendali jarak jauh (remote) server yang menggunakan protokol SSH. Secara default mayoritas sistem operasi server telah memberikan dan menyediakan OpenSSH sebagai alat remote utama dikarenakan faktor keamanan berupa enkripsi semua trafik data sehingga tidak mudah untuk disusupi maupun disadap pihak luar. OpenSSH juga menyediakan rangkaian besar kapabilitas tunneling yang aman.OpenSSH dibuat dan terus dikembangkan oleh OpenBSD yang membuat OpenSSH ini juga memiliki BSD Licese. Untuk lebih detail mengenai Apa itu OpenSSH kalian bisa kunjungi situs resminya di openssh.com.

Instalasi Konfigurasi dan Basic Penggunaan SSH Server ini Dilakukan pada environtment Virtual Machine.

Instalasi OpenSSH Server

Untuk melakukan instalasi SSH Server menggunakan OpenSSH pada Ubuntu 20.04 ini cukuplah mudah kalian cukup mengetikan perintah berikut.

$ sudo apt install openssh-server

Untuk memastikan apakah SSH Service sudah running atau belum kalian dapat melihatnya menggunakan systemctl. Pada status tersebut bisa kita ketahui bahwa SSH Server telah running dan listen di semua network. Secara default SSH Server listen pada port 22.

$ sudo systemctl status ssh
[sudo] password for zonabiner:
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-04-07 13:15:10 UTC; 13h ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 784 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 822 (sshd)
      Tasks: 1 (limit: 1073)
     Memory: 5.4M
     CGroup: /system.slice/ssh.service
             └─822 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Apr 07 13:15:10 zonabiner systemd[1]: Starting OpenBSD Secure Shell server...
Apr 07 13:15:10 zonabiner sshd[822]: Server listening on 0.0.0.0 port 22.
Apr 07 13:15:10 zonabiner sshd[822]: Server listening on :: port 22.
Apr 07 13:15:10 zonabiner systemd[1]: Started OpenBSD Secure Shell server.

Cara Remote OpenSSH Server

Untuk melakukan remote ke SSH Server maka kita perlu menggunakan SSH Client. Pada sistem operasi linux kalian bisa install openssh-client jika belum mempunyai SSH Client. Untuk bisa juga menggunakan Putty untuk sistem operasi lain. Untuk melakukan remote via openssh-client kalian bisa ketikan perintah ssh namauser@ipadddres. Untuk namauser disini adalah nama user yang ada pada Ubuntu sistem kalian jika belum memiliki user kalian bisa buat dengan perintah adduser namauser. Sedangkan untuk ipaddress ini adalah ip address SSH Server kalian selain ip address kalian juga bisa gunakan nama domain. Setelah perintah berikut kalian eksekusi maka masukan password dari akun user kalian.

Jangan khawatir jika pada saat mengetikan password tidak keluar password kalian / blank sebenarnya itu hanya pengamanan dari SSH Client agar password kalian tidak terlihat secara gamblang ini mirip seperti kita pada saat melakukan input password sudo.
$ ssh zonabiner@192.168.10.1

Ilustrasi cara login SSH.

Cara Login SSH Server menggunakan SSH Client

Permit Root Login (Allow Root Login)

Secara default OpenSSH Server tidak memperbolehkan user root untuk melakukan login melalui SSH dikarenakan user root ini memiliki hak akses tertinggi sehingga jika user root ini bisa di takeover oleh pihak yang tidak berwenang maka akan sangat berbahaya. Tetapi ada kala nya kita mengetahui cara memperbolehkan user root ini login via SSH. Caranya cukup mudah yaitu kita cukup melakukan edit pada file sshd_config dan cari #PermitRootLogin prohibit-password edit menjadi PermitRootLogin yes.

Secara default user root pada Ubuntu 20.04 LTS belum memiliki password, untuk memberikan password pada user root kita bisa menggunakan perintah sudo passwd.
$ sudo nano /etc/ssh/sshd_config
# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

Jangan lupa untuk melakukan restart service ssh.

$ sudo systemctl restart ssh

Maka nantinya user root dapat login via SSH

Cara Login menggunakan user root melalui SSH

Mengganti Port Default OpenSSH Server

Default port SSH Server adalah 22. Tak heran banyak serangan percobaan login yang terjadi pada protokol ini. Untuk meminimalisir hal tersebut maka kita bisa melakukan perubahan port default SSH ini 22 menjadi port lain yang kita inginkan. Cara nya mudah kita cukup lakukan edit pada file sshd_config. Agar tidak conflict dan bentrok pada port lain maka kalian bisa gunakan port diantara 1024 hingga 65536. Mengenai macam macam jenis port tcp dan udp kalian bisa membacanya disumber lain ya :). Pada contoh ini kita akan mengubah port default SSH yang semula 22 menjadi 1337.

$ sudo nano /etc/ssh/sshd_config
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Include /etc/ssh/sshd_config.d/*.conf

Port 1337
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Jangan lupa untuk melakukan restart service ssh.

$ sudo systemctl restart ssh

Untuk login melalui custom port maka kita tambah option -p pada openssh-client yang menandakan service ssh berada pada port custom tersebut.

$ ssh zonabiner@192.168.10.1 -p 1337

Ilustrasi pengubahan dan cara login menggunakan port ssh custom.

Cara Ganti atau Custom Port SSH untuk Login

Jika seseorag mencoba login ke server kita menggunakan port ssh default 22 maka tidak akan bisa.

Tidak dapat login ke SSH Server karena port sudah diganti

Transfer File menggunakan SCP (Secure Copy)

Sebagai layanan protokol yang memiliki enkripsi data. OpenSSH juga menyediakan untilitas SCP (Secure Copy) untuk melakukan copy file dari client menuju server yang bersifat non-interaktif yaitu artinya semuanya harus ditentukan pada satu baris perintah console. Perlu diketahui bahwa SCP merupakan gabungan dari 2 protokol yaitu RCP (Remote Copy Protocol) yang digunakan untuk penyalinan file dan SSH (Secure Shell) yang digunakan untuk enkripsi data dan autentikasi. Berikut cara copy file dari komputer client menuju computer server.

Untuk saat ini protokol SCP ini sudah dianggap usang dan sudah tidak direkomendasikan lagi untuk digunakan. Untuk melakukan copy file developer OpenSSH menyarankan untuk menggunakan protokol yang lebih modern seperti SFTP atau rsync. Sebagai pengetahuan protokol SCP ini juga telah memiliki security issue untuk lebih detail nya kalian bisa dilihat pada CVE-2019-6111.

Copy file dari komputer client menuju server (Upload).

$ scp namafile.txt zonabiner@192.168.10.1:/home/zonabiner/

Copy file ke server dengan menggunakan SCP

Copy file dari server ke client (Download).

$ scp zonabiner@192.168.10.1:/home/zonabiner/namafile.sh ~/

Download file dari server menggunakan SCP

Transfer File menggunakan SFTP (Secure FTP)

SFTP (SSH File Transfer Protocol) merupakan sebuah protokol jaringan yang digunakan untuk melakukan transfer file dari komputer local menuju komputer server ataupun sebaliknya. Protokol ini interaktif seperti halnya ftp kita bisa dengan mudah untuk drag & drop file/foder yang akan kita kirimkan atau kita unduh. Hanya saja perbedaan yang mecolok antara FTP dan SFTP ini adalah pada SFTP data akan di enkripsi terlebih dahulu sebelum dikirimkan menuju server hal ini yang menyebabkan SFTP lebih aman dibandingkan dengan FTP. Untuk melakukan transfer file menggunakan protokol SFTP ini kita memerlukan sebuah FTP client, sebagai contohnya disini saya menggunakan Filezilla. Masukan IP Address Server, Username, Password, dan Port SSH untuk login menggunakan protokol SFTP.

Download file dari server menggunakan SCP

Mantap, Cukup Mudah bukan ? Demikian postingan tentang Cara Instalasi Konfigurasi dan Basic Penggunaan SSH Server menggunakan OpenSSH. Happy Config! 😉

Tentang Penulis‎ ‏‏

author

Akhid Yanuar A.F

Linux System Administration | Computer Network | Operating System | Cloud Computing | IT Security | Linux Enthusiast 🐧

Find Me