Hallo semua, pada kesempatan kali ini kami akan share tentang beberapa konfigurasi ssh server pada Ubuntu 18.04. Seperti biasa sebelum kita lanjut ke konfiguri kita review dulu apa itu ssh. Secure Shell (SSH) adalah suatu software aplikasi pengganti telnet,
takjauh beda dari telnet, Tsh dan rLogin. SSH merupakan suatu protokol
jarigan untuk melakukan remote shell pada sebuah jaringan, yang
membedakaan SSH dengan Software Remote Login lain adalah SSH memiliki
kemapuan enkripsi dan dekripsi pada end to end device yang membuat SSH
itu lebih aman di banding telnel dan remote login lain. dan itulan yang
membuat SSH aman dari sniffing.
SSH Server adalah suatu software
yang berfungsi untuk menerima request dari client, yang bertugas
mendeskripsi enkripsi client dan mengjalankan printah yang di
instruksikan client. SSH Server Berjalan pada port 22 dengan TCP
Koneksi. Selain itu SSH Juga bisa di pakai untuk melakukan pertukaran
data seperti FTP, dengan menggunkan sfpt:// SSH Server dapat berjalan
layaknya FTP dengan Secure. ssh
Ya Setelah kita tahu sedikit review tentang SSH, SSH server, berikutnya kita langsung ke Langkah-langkah untuk konfugurasinya, Untuk Topik yang akan dibahas sendiri adalah sebagai berikut :
- Password Authentication
- SSH File Transfer
- SSH Key-pair Authentication
-
Yang Lanjut, ke Langkah-langkahnya :
1. Password Authentication
Password Authentication untuk OpenSSH Server di Ubuntu secara default sudah aktif, jadi memungkinkan kita untuk masuk tanpa mengubah pengaturan apa pun. Berikutnya, user root tidak diizinkan, atau tidak mendapatkan akses Password Authentication secara default dengan "PermitRootLogin prohibit-password", jadi pengaturan default baik untuk digunakan. Tetapi jika kita ingin user root untuk tidak bisa login melalui SSH, Dapat kita konfigurasikan seperti berikut.
```bash root@alfaruq:~# apt-get install -y openssh-server root@alfaruq:~# vi /etc/ssh/sshd_config PermitRootLogin no root@alfaruq:~# systemctl restart ssh ```
Dari segi client sendiri untuk dapat akses ke sshnya dapat seperti berikut :
```bash root@client:~# ssh ubuntu@serverssh.example.com The authenticity of host 'serverssh.example.com (10.20.20.50)' cant be established. ECDSA key fingerprint is SHA256:cFINZxChloNp9GjMFkplmg3bsING9me+ld9asR2Hj08. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'serverssh.example.com,10.20.20.50' (ECDSA) to the list of known hosts. ubuntu@serverssh.example.com password: Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64) ..... ..... Last login: Tue Nov 3 14:38:33 2020 ubuntu@serverssh:~$ # diatas untuk Client linux, jika windows dapat menggunakan software seperti putty, # atau untuk windows 10 terbaru sudah support melalui cmd dengan command yang sama # Kita juga dapat eksekusi command secara remote ubuntu@sshclient:~$ ssh ubuntu@serverssh.example.com "echo 'Hallo, from client'" ```2. SSH File Transfer
SSH file transfer ini mirip dengan FTP, kita dapat bertukar file, baik kirim atau terima, dengan menggunakan protokol SSH. berikut adalah contohnya :
```bash ubuntu@serverssh:~$ scp ./test.txt ubuntu@client.example.com:~/ ubuntu@10.0.0.30 password: test.txt 100% 10 0.0KB/s 00:00 # copy file dari client ke ssh server ubuntu@serverssh:~$ scp ubuntu@client.example.com:/home/ubuntu/test.txt ./test.txt ubuntu@10.0.0.30's password: test.txt 100% 10 0.0KB/s 00:00 ```Sedangkan berikut, ketika menggunakan SFTP
```bash # sftp [Option] [user@host] ubuntu@serverssh:~$ sftp ubuntu@client.example.com ubuntu@client.example.com password: Connected to client.example.com. sftp> # Menampilkan posisi folder dimana kita berada sftp> pwd Remote working directory: /home/ubuntu sftp> !pwd /home/ubuntu # Menampilkan daftar file yang ada sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 28 22:53 test.txt sftp> !ls -l total 4 -rw-rw-r-- 1 ubuntu ubuntu 10 Jul 29 21:31 test.txt # pindah folder sftp> cd public_html sftp> pwd Remote working directory: /home/ubuntu/public_html # mengirimkan hanya beberapa file saja sftp> put test.txt ubuntu.txt Uploading test.txt to /home/ubuntu/ubuntu.txt test.txt 100% 10 0.0KB/s 00:00 sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:39 ubuntu.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 28 22:53 test.txt # upload semua file txt yang ada pada server ke client sftp> put *.txt Uploading test.txt to /home/ubuntu/test.txt test.txt 100% 10 0.0KB/s 00:00 Uploading test2.txt to /home/ubuntu/test2.txt test2.txt 100% 0 0.0KB/s 00:00 sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:39 ubuntu.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:45 test.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:46 test2.txt # download file dari client ke server sftp> get test.txt Fetching /home/ubuntu/test.txt to test.txt /home/ubuntu/test.txt 100% 10 0.0KB/s 00:00 sftp> get *.txt Fetching /home/ubuntu/ubuntu.txt to ubuntu.txt /home/ubuntu/ubuntu.txt 100% 10 0.0KB/s 00:00 Fetching /home/ubuntu/test.txt to test.txt /home/ubuntu/test.txt 100% 10 0.0KB/s 00:00 Fetching /home/ubuntu/test2.txt to test2.txt /home/ubuntu/test2.txt 100% 10 0.0KB/s 00:00 #buat folder di client sftp> mkdir testdir sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:39 ubuntu.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:45 test.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:46 test2.txt drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:53 testdir # hapus folder pada client sftp> rmdir testdir rmdir ok, `testdir` removed sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:39 ubuntu.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:45 test.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:46 test2.txt # hapus file pada client sftp> rm test2.txt Removing /home/ubuntu/test2.txt sftp> ls -l drwxrwxr-x 2 ubuntu ubuntu 6 Apr 29 21:33 public_html -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:39 ubuntu.txt -rw-rw-r-- 1 ubuntu ubuntu 10 Apr 29 21:45 test.txt # Menjankan perintah pada client sftp> !cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ... ... ubuntu:x:1001:1001::/home/ubuntu:/bin/bash # keluar dari sftp sftp> quit 221 Goodbye. ```3. SSH Key-pair Authentication
Key-pair ini maksudnya adalah kita dapat mengakses ke server tanpa menginputkan password, hal itu dapat dilakukan karena kita memiliki kunci private yang sesuai dengan kunci public yang ada pada server. Berikut konfigurasinya :
```bash ubuntu@serverssh:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ubuntu/.ssh/id_rsa. Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub. The key fingerprint is: 30:ee:f0:47:38:9d:8a:24:5e:01:c8:13:df:15:40:b4 ubuntu@serverssh The keys randomart image is: ubuntu@serverssh:~$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys ubuntu@serverssh:~$ chmod 600 ~/.ssh/authorized_keys # untuk menambahkan agar lebih aman root@serverssh:~# vi /etc/ssh/sshd_config PasswordAuthentication no root@serverssh:~# systemctl restart ssh ```
```bash # Pada client ubuntu@client:~$ mkdir ~/.ssh ubuntu@client:~$ chmod 700 ~/.ssh # copy the secret key to the local ssh directory ubuntu@client:~$ scp ubuntu@10.20.20.50:/home/ubuntu/.ssh/id_rsa ~/.ssh/ ubuntu@10.20.20.50 password: id_rsa ubuntu@client:~$ ssh ubuntu@10.20.20.50 Enter passphrase for key '/home/ubuntu/.ssh/id_rsa': Last login: Sat Apr 28 20:30:53 2018 from client.example.com ubuntu@serverssh:~$ # just logined ```Yaps, selesai sudah, beberapa konfigurasi sederhana pada ssh server di ubuntu 18.04, sampai jumpa di tutorial berikutnya!
0 comments:
Post a Comment