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 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.
$ ssh zonabiner@192.168.10.1
Ilustrasi cara login SSH.
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
.
$ 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
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.
Jika seseorag mencoba login ke server kita menggunakan port ssh default 22
maka tidak akan bisa.
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.
Copy file dari komputer client menuju server (Upload).
$ scp namafile.txt zonabiner@192.168.10.1:/home/zonabiner/
Copy file dari server ke client (Download).
$ scp zonabiner@192.168.10.1:/home/zonabiner/namafile.sh ~/
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.
Mantap, Cukup Mudah bukan ? Demikian postingan tentang Cara Instalasi Konfigurasi dan Basic Penggunaan SSH Server menggunakan OpenSSH. Happy Config! 😉