Wanzul Blog

Nota, pendapat, dan pengajaran yang aku bayar sendiri.

Recovery when blocked SSH

Bila Kau Terkunci dari SSH Sendiri — Cara Nak Masuk Balik

Kalau kau guna third-party control panel untuk manage server, biasanya ada option configuration untuk set firewall rules. Kalau kau tak sengaja buang akses ke port 22 dari whitelist, server kau jadi tak boleh diurus. Untuk elak, ini yang kau patut buat awal-awal.

Andaikan kau belum terkunci dari server dan masih boleh buat sambungan SSH, ini yang kau boleh buat. Kalau tak, skip ke seksyen bawah.

Cara terkunci dari instance sendiri 🤣

Set up user dengan akses sudo 👨‍💼

Langkah pertama, create user baru. Tukar newuser dengan username pilihan kau.

$ adduser newuser

Akhir sekali, tambah user tu ke group sudo untuk bagi akses pentadbiran.

$ usermod -aG sudo newuser
Cara create user dengan akses sudo dan cara akses console dengan AWS EC2.

Jadi, kalau kau tak sengaja buang SSH dari allowlist dalam Firewall, kau boleh connect ke server guna console dan login sebagai user tu untuk tambah balik port SSH (22) ke allowlist Firewall.

$ sudo ufw allow 22/tcp

Kebanyakan cloud provider benarkan instance diakses melalui Console. Aku boleh confirm sendiri yang AWS EC2 dan IPServerOne Nova Cloud boleh akses instance melalui Console.

Akses melalui console bermakna sambungan ke terminal tak dibuat melalui port 22. Ia lebih kurang macam kita connect secara fizikal ke server guna serial cable.

Sesiapa yang ada akses fizikal/virtual ke console server boleh brute force login. Pastikan set password yang kuat!

Kau dah terkunci dari SSH. Nak buat apa? 🤔

Ini langkahnya:

  1. Detach storage dari server
  2. Attach storage ke recovery instance baru
  3. Tambah rule untuk allow SSH dalam konfigurasi firewall
  4. Detach storage dari recovery instance
  5. Attach balik storage ke server asal

Tambah rule untuk allow SSH dalam konfigurasi firewall

Nota: “…” bermakna ada kod sedia ada yang dah dipotong.

Lokasi fail: /mnt/<mount>/etc/ufw/user.rules

...
### RULES ###
...
### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 in

-A ufw-user-input -p tcp --dport 22 -j ACCEPT

-A ufw-user-input -p udp --dport 22 -j ACCEPT
### END RULES ###

Lepas tambah ni, server akan benarkan sambungan masuk ke SSH.

Ini cara mount dan ubah Ubuntu ufw firewall untuk tambah SSH (port 22) ke whitelist 😇

Sebagai alternatif, kau juga boleh disable uncomplicated firewall (ufw) dulu dan lepas tu jalankan command ufw allow 22/tcp.


Tak ada apa nak risau bila kau tak sengaja block sambungan SSH. Selalu ada jalan untuk recover akses. 😉

Wan Zulkarnain Avatar

Written by 


Comments

Leave a Reply