Minggu, 30 Mei 2021

PSSH-remote byk server

 

Menjalankan Perintah di Beberapa Server Linux Secara Bersamaan

Menjalankan Perintah di Beberapa Server Linux Secara Bersamaan

Apakah saat ini kamu sedang mengelola banyak server linux? Tentu akan sangat melelahkan apabila melakukan segalanya satu-per-satu. Tapi pernahkah kamu memikirkan untuk menjalankan perintah ke banyak server linux secara bersamaan? Pastinya ini akan menghemat waktu dan dapat melakukan pekerjaan lebih cepat daripada sebelumnya.

Yaitu menggunakan bantuan dari program PSSH (Parallel SSH). Itu merupakan alat berbasis python yang dapat digunakan untuk menjalankan perintah di banyak server linux dengan cara yang cepat. Namun di lain sisi, terdapat kelebihan dan kekurangan dalam menggunakan alat tersebut.

PSSH juga dapat menjalankan banyak perintah sekaligus kemudian dikirimkan ke semua server linux yang telah ada di daftar. Kekurangannya hanyalah satu, yaitu semua server harus memiliki username dan password yang sama supaya dapat mengeksekusi perintah secara bersamaan.

Baca juga: Cara Extract File TAR di Linux Hosting Melalui Shell Command

Cara Menginstal PSSH di Linux

Untuk menginstal PSSH tidaklah sulit, yang diperlukan pertama kali adalah python-pip, berikut ini perintahnya:

Ubuntu & Debian

sudo apt install python-pip

CentOS & Fedora

sudo yum install python-pip

Jika python-pip telah terpasang, lanjutkan untuk menginstal PSSH menggunakan perintah berikut:

pip install pssh

Dan untuk mengetahui apakah PSSH telah terpasang, silakan ketik pssh --help dan disana akan ditampilkan keseluruhan perintah yang dapat digunakan pada PSSH.

Cara Menggunakan PSSH

Pertama-tama, buat file dengan format TXT (misalnya host.txt) dan isikan file tersebut dengan IP:PORT satu per baris, misalnya begini:

192.168.0.1:22
192.168.0.2:22
192.168.0.3:22

Kemudian untuk menjalankan PSSH, berikut ini perintahnya:

pssh -h host.txt -l USERNAME -A echo "Testing"

Harap untuk mengganti username sesuai pada servernya. Dan ketika menjalankan perintah diatas, secara otomatis akan diminta untuk menuliskan password dan kemudian akan muncul hasilnya.

Contoh perintah diatas hanya akan menampilkan tulisan Testing pada setiap daftar server. Jika berhasil, hasilnya akan seperti ini:

Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 18:54:55 [SUCCESS] 192.168.0.1:22
[2] 18:54:56 [SUCCESS] 192.168.0.2:22
[3] 18:54:57 [SUCCESS] 192.168.0.3:22

Menjalankan Banyak Perintah pada PSSH

Kelebihan dari PSSH adalah dapat menjalankan banyak perintah sekaligus, sehingga kamu tak perlu capek-capek lagi menulis perintah satu-per-satu untuk semua server.

Berikut ini contoh meng-eksekusi banyak perintah pada PSSH:

pssh -h host.txt -l USERNAME -A "Perintah1; Perintah2; Perintah3; Perintah4; Perintah5"

Tak ada batasan untuk mengirimkan perintah, yang terpenting adalah formatnya sama seperti diatas.

Jika sekiranya kamu ingin tahu bagaimana hasil itu tampil pada semua server/host, cukup tambahkan -P pada sebelum -A. Kegunaannya adalah menampilkan output terhadap perintah yang dikirimkan.

Solusi Muncul Kesalahan Exited with error code 255

Apabila kamu mengalami masalah ini, tidak usah cemas. Karena masih bisa diatasi dengan menjalankan perintah dibawah ini terlebih dahulu:

pssh -h host.txt -l USERNAME -A -i "-O StrictHostKeyChecking=no" "touch host.txt"

Setelah menjalankan perintah seperti diatas, kemudian cobalah untuk menjalankan kembali perintah yang ingin di-eksekusi sebelumnya, dan pastinya kali ini akan berhasil.

Baca juga: Cara Menjalankan Perintah CMD Secara Bersamaan

Kesimpulan

Parallel SSH atau PSSH adalah alat yang cocok digunakan oleh administrator yang sedang bekerja pada banyak server. Ini akan memudahkan untuk menjalankan perintah dari jarak jauh meski host berada di jaringan yang berbeda.

Seluruh jenis perintah yang tersedia pada PSSH bisa dilihat dengan mengetik pssh --help dan apabila ada yang ingin ditanyakan mengenai tutorial diatas, silakan berkomentar.

Semoga bermanfaat dan Selamat mencoba

KEY PUBLIC-ubuntu

 Remote SSH Menggunakan Autentikasi Key



SSH merupakan protokol remote connection yang bisa dikatakan wajib digunakan apabila kita ingin meremot server yang berada di luar lokasi kita. Jika dibandingkan dengan telnet, menggunakan ssh akan lebih baik karena adanya enkripsi terhadap koneksi yang berlangsung.

Remote SSH Menggunakan Autentikasi Key

Akan tetapi, meskipun dirasa sudah cukup aman, melakukan remote ssh dengan metode autentikasi username dan password masih memeiliki kelemahan/celah. Yakni adanya kemungkinan untuk dibobol menggunakan serangan brute force.

Belum lagi kalau kita lupa dengan password usernya. Kalau kita hanya meremot satu server saja mungkin kita masih bisa mengingat passwordnya. Namun jika kita harus melakukan remot di beberapa server yang passwordnya mungkin berbeda-beda, bukan tidak mungkin kita bisa lupa dengan salah satu passwordnya.
Untuk mengatasi permasalahan di atas, kita bisa menggunakan metode autentikasi key untuk remot ssh. Dengan menggunakan autentikasi key, kita tidak perlu memasukkan password milik user. Client cukup melakukan initial connection dengan menggunakan key yang sudah di-generate oleh server atau client itu sendiri.

Metode autentikasi key menggunakan dua buah key yakni public key dan privat key. Public key akan diletakkan di server, sementara privat key diletakkan di client yang akan meremote server.

Dari dua buah kunci tersebut. Yang sangat penting adalah privat key. Sebab privat key ini menjadi kunci untuk membuka public key yang sudah tersimpan di server. Oleh karena itu, penting untuk selalu menjaga privat key ini. Apabila sampai diketahui oleh pihak yang tidak bertanggung jawab maka ia dapat memanfaatkan privat key tersebut untuk mengakses server.

Untuk membuat (generate) key baik public maupun privat key, dapat dilakukan di sisi server maupun di sisi client. Apabila proses generate key dilakukan di sisi server, maka client harus mengunduh private key yang sudah dibuat oleh server tadi.

Sedangkan jika proses generate key dilakukan di sisi client, maka public key harus diupload ke server.

Catatan : untuk melakukan tutorial ini, pastikan kalian sudah mengaktifkan service ssh server dan juga sudah mengkonfigurasinya. Apabila belum silahkan lihat postingan tentang konfigurasi SSH Server.

Membuat (Generate) Key

Pada tutorial ini, server yang digunakan adalah Ubuntu 16.04. Proses generate key akan dilakukan pada server. Sehingga untuk bisa mengakses server, client perlu memiliki private key-nya.

Perintah untuk membuat key adalah :
ssh-keygen -t rsa

Kemudian tentukan lokasi untuk menyimpan key nanti. Secara default, lokasi untuk menyimpan key berada di direktori /home/nama_user/.ssh dengan nama key-nya adalah id.rsa.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xenial/.ssh/id_rsa):
/home/xenial/.ssh/id_rsa already exists.
Overwrite (y/n)? y

Apabila direktori belum ada, maka sistem akan membuatnya terlebih dahulu, Namun jika direktori sudah pernah dibuat sebelumnya, akan muncul peringatan untuk melakukan overwrite.

Selanjutnya adalah memasukkan passphrase. Passphrase ini digunakan untuk autentikasi ketika kita akan membuka publick  key menggunakan private key nanti. Apabila tidak ingin menggunakan passphrase, maka skip langkah tersebut dengan menekan tombol Enter.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Setelah proses generate selesai, sistem akan memberitahukan letak public key dan privat key (id_rsa).
Your identification has been saved in /home/xenial/.ssh/id_rsa.
Your public key has been saved in /home/xenial/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8/JWl7tcXvBpcT3cy76AJCNA+ODvwqL7V/6YaC3gx3Q xenial@ubuntuserv
The key's randomart image is:
+---[RSA 2048]----+
|    ..           |
|   o.            |
|  . o.           |
|   . ..       . o|
|    .  .So .  .=+|
|  . ..E .o+ o +o*|
| ..+.=  . .o o *+|
| ..o*ooo o.  .=o.|
|+oo+o.o....   o+o|
+----[SHA256]-----+
xenial@ubuntuserv:~$

Selanjutnya kita cek isi direktori .ssh.
xenial@ubuntuserv:~$ ls .ssh/
id_rsa  id_rsa.pub

Lalu ubah nama file id.rsa.pub menjadi authorized_keys.
xenial@ubuntuserv:~$ cd .ssh/
xenial@ubuntuserv:~/.ssh$ mv id_rsa.pub authorized_keys

Sampai di sini proses generate key di server sudah selesai. Cek kembali isi direktori .ssh.
xenial@ubuntuserv:~/.ssh$ ls
authorized_keys  id_rsa

Pengujian Akses SSH

Pada Linux
Sebelum bisa mengakses ssh menggunakan key, client harus mengunduh file id_rsa yang ada pada server dan meletakkannya ke dalam direktori .ssh pada komputer client.

Buat dahulu direktori untuk menyimpan file private key yakni direktori .ssh :
mkdir ~/.ssh

Ubah permission agar hanya user tersebut yang bisa membacanya :
chmod 600 ~/.ssh

Untuk mengunduh private key, kita bisa menggunakan perintah scp seperti berikut :
scp username@hostname_server:lokasi_file lokasi_tujuan

Contoh :
scp -P 2212 xenial@192.168.43.232:~/.ssh/id_rsa ~/.ssh
  • -P di sini digunakan untuk mendefinisikan port ssh. Apabila port ssh yang digunakan adalah default (22) maka tidak perlu menggunakan opsi ini.
  • xenial@192.168.43.232 merupakan username dan hostname atau ip address dari server
  • :~/.ssh/id_rsa maksudnya adalah lokasi file id_rsa berada, simbol ~ melambangkan home direktori dari user xenial
  • ~/.ssh merupakan direktori tujuan, yakni /home/namauser/.ssh

Selanjutnya masukkan password dari user xenial (username yang ada di server) untuk menfkonfirmasi proses transfer file dari server.

Mengunduh private key dari server menggunakan scp

Setelah itu client dapat melakukan remote ssh ke server dengan perintah ssh user@hostname_server. Jika service ssh menggunakan port selain 22, maka tambahkan opsi -p [nomor_port].

autentikasi key ssh dari linux mint


Pada Windows
Untuk client windows, kita bisa menggunakan aplikasi PuTTY untuk melakukan remote ssh. Akan tetapi sebelum bisa digunakan, kita perlu mengubah private key-nya terlebih dahulu agar bisa dibaca oleh PuTTY

Unduh dahulu file id_rsa dari server. Bisa menggunakan aplikasi file transfer seperti FileZilla atau WinSCP. Kemudian login menggunakan username dan password yang ada pada server. Contoh di sini saya menggunakan WinSCP.

Tampilan WinSCP

Apabila muncul peringatan warning, silahkan pilih Yes.

Karena lokasi file id_rsa berada di dalam direktori ssh yang terhidden. Maka untuk mencari file tersebut kamu bisa menggunakan tombol Find Files. Kemudian klik Start.

Mencari file id_rsa menggunakan Find Files

Setelah muncul list file yang ada. Klik pada file yang akan diunduh yakni id_rsa, kemudian  pilih Download.

Mengunduh File id_rsa

Tahap selanjutnya adalah mengkonversi key yang telah diunduh tadi menjadi tipe privat key yang bisa digunakan oleh PuTTY. Kita akan menggunakan aplikasi puttygen.exe

Buka aplikasi puttygen.exe kemudian klik tombol Load.

Mengimpor private key yang sudah diunduh

Cari privat key yang sudah diunduh tadi. Lalu Open.

Mencari private key yang sudah diunduh

Jika pada saat membuat key di server tadi kalian menggunakan passphrase, maka untuk membuka key ini kalian akan diminta untuk memasukkan passphrase tersebut.

Memasukkan passphrase untuk mengimpor private key

Setelah file berhasil diimpor, selanjutnya kita save file tersebut. Pilih Save private key.

Menyimpan private key yang baru

Simpan file dengan tipe ekstensi .ppk (PuTTY Private Key).

Menyimpan Private Key

Sekarang kita coba akses remote ssh menggunakan PuTTY. Buka aplikasinya, kemudian isi kolom hostname dan port number.

Mengisi kolom login putty

Kemudian masuk ke menu di samping kiri, Connection > SSH > Auth. Masukkan private key, kemudian Open.

Mengkonfigurasi private key untuk putty

Jika kalian tidak menggunakan passphrase ketika proses generate key tadi, maka akan langsung masuk ke dalam server. Apabila menggunakan passphrase, maka kalian akan diminta untuk memasukan passphrase-nya.


Pada tutorial ini, user yang digunakan untuk login remote ssh adalah user xenial (bukan root). Apabila kalian ingin menggunakan user root, maka pada saat proses generate key harus dilakukan oleh user root.

Tambahan :
Untuk lebih meningkatkan keamanan dalam melakukan remote ssh, kita bisa menonaktifkan autentikasi password. Dengan begitu client hanya dapat mengakses server menggunakan key.

Untuk menonaktifkan autentikasi password, edit file sshd_config. Kemudian ubah nilai pada baris PasswordAuthentication menjadi no. Seperti ini :
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Dengan catatan, ketika kita hendak membuat key baru untuk client yang lain misalnya, autentikasi password ini perlu diaktifkan kembali. Karena autentikasi tersebut akan digunakan ketika client akan mengunduh private key atau mengupload public key ke server.

Demikianlah tutorial mengakses remote SSH menggunakan autentikasi key. Sebenarnya masih ada tutorial untuk membuat key di sisi client, namun agar postingan ini tidak terlalu panjang, maka akan dilanjut di postingan yang lainnya.


© Remote SSH Menggunakan Autentikasi Key - Diary Config
Source: https://www.diaryconfig.com/2018/11/remote-ssh-menggunakan-autentikasi-key.html

SSH KEY-ubuntu

 

SSH Public Key Authentication (SSH Keys) – Ubuntu 20

Note : Tulisan ini merupakan lanjutan dari 3 tulisan sebelumnya, yaitu

Selain autentikasi dengan username & password, metode autentikasi lain yang bisa digunakan adalah autentikasi dengan SSH public key. Dengan metode ini kita tidak perlu lagi memasukkan password user SSH, cukup mendefinisikan file keynya saja.

Autentikasi SSH menggunakan public key, mungkin secara teknis terlihat tidak lebih aman jika dibandingkan dengan autentikasi username & password karena komputer trusted bisa login tanpa memasukkan password. Tetapi sebenarnya tidak juga, karena seperti yang sudah saya jelaskan pada tulisan sebelumnya (Baca : Secure Shell (SSH)), autentikasi password juga memiliki ancaman tersendiri yaitu brute force.

Public key ini bisa dijadikan pengganti password untuk remote login SSH, lalu metode autentikasi menggunakan password bisa kita disable supaya terhindar dari percobaan brute force. Hati-hati dalam penggunaan SSH key ini, lakukan uji coba terlebih dahulu pada server testing. Jangan sampai setelah autentikasi password di disable, kita malah tidak bisa melakukan remote login ke SSH server.

Berikut adalah tahapan-tahapan yang perlu dilakukan untuk menggunakan SSH public key authentication.

Enable Public Key Authentication

Sebenarnya secara default, autentikasi public key pada server Linux Ubuntu sudah aktif sejak instalasi openssh selesai dilakukan tetapi tidak apa-apa saya akan tetap menunjukkan bagaimana cara untuk mengaktifkannya, incase rekan-rekan menemukan kasus dimana autentikasi public keynya belum aktif.

  • Remote login ke SSH server
  • Pertama edit file konfigurasi SSH dengan perintah “sudo nano /etc/ssh/sshd_config” atau “sudo vi /etc/ssh/sshd_config” lalu cari baris berikut
    #PubkeyAuthentication yes

    Hilangkan tanda pagar pada baris tersebut

    PubkeyAuthentication yes
  • Restart service SSH dengan perintah berikut
    # sudo systemctl restart ssh

Generate SSH Keys (SSH Client)

Setelah enable autentikasi public key dari sisi server, selanjutnya dari sisi SSH client perlu melakukan generate private key & public key yang akan digunakan untuk remote login ke SSH server. Secara garis besar, cara kerjanya kurang lebih seperti ini

  1. Generate SSH keys (Private & public key) client
  2. Salin public key ke SSH server
  3. Remote login dari SSH client ke SSH server dengan private key
  4. Jika private key yang digunakan oleh SSH client match dengan public key yang sudah disalin ke server, maka SSH client diperbolehkan login tanpa memasukkan password

Namun, sama halnya dengan SSH client pada sistem operasi Windows, generate SSH keys pada sistem operasi Windows juga memerlukan aplikasi pihak ketiga. Sedangkan untuk generate SSH keys pada sistem operasi berbasis Unix seperti Linux atau Macos, bisa dilakukan menggunakan aplikasi terminal yang sudah ada.

SSH Client Linux atau Macos

  • Jalankan aplikasi terminal pada sistem operasi Linux atau MacOS
  • Jalankan perintah “ssh-keygen -t rsa -f ~/.ssh/(namafile-key)” untuk generate file SSH keys
    # ssh-keygen -t rsa -f ~/.ssh/server-test
    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase): (ENTER)
    Enter same passphrase again: (ENTER)
    Your identification has been saved in /home/raihan/.ssh/server-test.
    Your public key has been saved in /home/raihan/.ssh/server-test.pub.
    The key fingerprint is:
    SHA256:dwSopaqOzSN2DD3dAEgjU7QemhafKLvoEqqQdBzzzms raihan@HP-Notebook
    The key's randomart image is:
    +---[RSA 2048]----+
    |+=+      ..      |
    |.o.o    o  .     |
    | .oo.  +    .    |
    | +=.=.o    .     |
    |++o=.oo S . .    |
    |=+.o+. . . .     |
    |=.o..o           |
    |**oo E.          |
    |X+=...           |
    +----[SHA256]-----+
  • Secara default, file SSH keys hasil generate terletak pada direktori /home/(user)/.ssh/ atau /root/.ssh jika generate SSH key untuk akun root. Masuk ke directory /home/(user)/.ssh untuk melihat file key hasil generate
    # cd /home/raihan/.ssh
    # ls
    server-test.pub server-test

    server-test.pub = public key
    server-test = private key

SSH Client Windows

  • Download aplikasi Putty portable dari link berikut https://the.earth.li/~sgtatham/putty/latest/w64/puttygen.exe
  • Jalankan aplikasi puttygen yang telah didownload
  • Pilih type RSA lalu klik “Generate” untuk generate SSH keys
  • Tunggu proses generate SSH keys selesai, sambil menggerakan cursor mouse pada kotak kosong dibawah progress bar
  • Klik Save private key untuk menyimpan file private keys. Berikan .ppk pada bagian akhir nama file private key
  • Copy teks public key yang ada pada kolom yang saya tandai dengan kotak merah
  • Buat file baru pada folder yang berisi file private key dengan format .pub dibelakang nama public key
  • Open file .pub yang sudah dibuat
  • Paste teks public key ke dalam file tersebut lalu save
  • Proses generate SSH keys akan menghasilkan 2 file sebagai berikut

Salin Public Key Client ke Server

Autentikasi public key tidak cukup hanya dengan generate SSH keys pada SSH client, tetapi kita harus memasukkan public key yang sudah digenerate ke server. Jika public key client tidak ada di SSH server, maka SSH client akan tetap ditanyakan password saat melakukan remote login.

SSH Client Linux atau Macos

  • Jika SSH client yang digunakan berbasis Linux atau Macos, jalankan perintah “ssh-copy-id -i /home/(user)/.ssh/(namafilekey).pub -p (port-ssh) (user-ssh)@(ip-server) ” jika menggunakan port SSH non standard atau “ssh-copy-id -i /home/(user)/.ssh/(namafilekey).pub (user-ssh)@(ip-server)” jika menggunakan port SSH standard
    # ssh-copy-id -i /home/raihan/.ssh/server-test.pub -p 2020 remote@192.168.60.110
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/raihan/.ssh/server-test.pub"
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    
    remote@192.168.60.110's password: (Masukkan password user SSH)
    
    Number of key(s) added: 1
    
    Now try logging into the machine, with:   "ssh -p '2020' 'remote@192.168.60.110'"
    and check to make sure that only the key(s) you wanted were added

SSH Client Windows

  • Jika SSH client yang digunakan berbasis Windows, open file .pub dengan aplikasi notepad lalu copy isi teks public key
  • Jalankan aplikasi Putty, lalu lakukan remote login ke SSH server
  • Edit file .ssh/authorized_keys yang dipakai untuk menyimpan public key client yang trusted. Edit bisa dilakukan dengan perintah “sudo nano .ssh/authorized_keys” atau “sudo vi .ssh/authorized_keys
  • Paste teks public key pada baris paling bawah dan save file tersebut
    Hint : Paste ke putty bisa dilakukan dengan cara klik kanan saat cursor mouse berada di window putty

Remote Login SSH dengan Public Key

Setelah tahapan-tahapan diatas dilakukan, selanjutnya adalah melakukan remote login ke SSH server menggunakan public key yang sudah kita generate dan daftarkan ke dalam SSH server.

SSH Client Linux atau Macos

  • Jalankan aplikasi terminal
  • Lakukan remote login ke SSH server tambahan teks “-i /home/(user)/.ssh/(namafilekey)” dibelakang perintah remote login yang biasa dilakukan
    # ssh remote@192.168.60.110 -p 2020 -i /home/raihan/.ssh/server-test
    ....
    Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-42-generic x86_64)
    Last login: Tue Aug  4 09:50:06 2020 from 192.168.70.11
    remote@server:~#
  • Terlihat tidak ada permintaan password, karena kita sudah menggunakan public key sebagai metode autentikasinya

SSH Client Windows

  • Jalankan aplikasi putty lalu pilih menu klik logo pada bagian kiri menu SSH yang berada dibawah menu Connection
  • Klik menu Auth lalu klik Browse
  • Pilih file private key (.ppk)
  • Kembali ke menu Session dan lakukan remote login SSH seperti biasa

Disable Password Authentication

Dengan adanya metode autentikasi menggunakan public key ini, kita bisa juga untuk disable autentikasi password SSH server. Jadi remote login hanya bisa dilakukan menggunakan metode autentikasi public key saja, jika public key SSH client belum didaftarkan ke dalam SSH server maka remote login tidak bisa dilakukan oleh SSH client.

Konfigurasi ini bagus untuk mencegah ancaman-ancaman yang ada, seperti brute force password. Karena autentikasi passwordnya di disable, maka percobaan brute force kepada SSH server tidak akan berhasil.

Walaupun demikian, penerapan konfigurasi ini bisa berbahaya apabila SSH client yang biasa kita gunakan (SSH client dengan public key yang sudah didaftarkan ke SSH server) mengalami problem dan tidak bisa terkoneksi ke SSH server. Jika hal tersebut terjadi maka kita tidak akan bisa melakukan remote login ke SSH server karena tidak ada komputer dengan public key yang sudah didaftarkan ke SSH server, dan juga autentikasi password tidak bisa digunakan karena sudah di disable.

Maka dari itu, saya tidak menganjurkan hal ini, kecuali komputer SSH client bisa dipastikan selalu stand by ataupun ada cadangan SSH client lain incase SSH client utama tidak bisa digunakan. Intinya, perlu ada pertimbangan dari sisi rekan-rekan apakah server yang dikelola perlu di disable password authenticationnya atau tidak? Jika ragu server malah tidak bisa diakses karena konfigurasi ini, saya rekomendasikan untuk tidak melakukan ini. Apalagi servernya adalah server production 😀 .

Tetapi saya akan tetap menunjukkan bagaimana cara untuk disable password authentication pada SSH server, incase rekan-rekan ingin mencobanya.

  • Remote login ke SSH server
  • Edit file konfigurasi SSH lalu cari baris berikut
    #PasswordAuthentication yes

    Hilangkan tanda pagar dan ubah “yes” menjadi “no

    PasswordAuthentication no
  • Restart service SSH dengan perintah berikut
    # sudo systemctl restart ssh
  • Lakukan remote login kembali menggunakan metode public key dan juga metode password
    Public key

    # ssh remote@192.168.60.110 -p 2020 -i /home/raihan/.ssh/server-test
    ....
    Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-42-generic x86_64)
    Last login: Tue Aug  4 11:04:49 2020 from 192.168.60.198
    remote@server:~#

    Password (Tanpa public key)

    # ssh remote@192.168.60.110 -p 2020
    remote@192.168.60.110: Permission denied (publickey).