Untuk menampilkan alamat IP secara dinamis di halaman login (TTY/Console) Debian 13, cara terbaik dan paling bersih adalah dengan memanfaatkan script Getty systemd yang memperbarui file /etc/issue sebelum prompt login muncul.
Berikut adalah langkah-langkah mudahnya:
Langkah 1: Buat Script Pengambil IP
Kita akan membuat script kecil yang mendeteksi alamat IP aktif dan memasukkannya ke template halaman login.
Buka terminal dan buat file script baru (misalnya bernama refresh-issue.sh):
Bash
sudo nano /usr/local/bin/refresh-issue.sh
Paste kode berikut ke dalam file tersebut:
Bash
#!/bin/sh
# Mengambil IP Address aktif (mengabaikan loopback 127.0.0.1)
IP=$(hostname -I | awk '{print $1}')
# Jika IP tidak ditemukan, beri keterangan
if [ -z "$IP" ]; then
IP="Tidak terhubung ke jaringan"
fi
# Menulis ulang file /etc/issue
cat << EOF > /etc/issue
Debian GNU/Linux 13 \n \l
Alamat IP Server: $IP
3. Simpan dan keluar (`Ctrl + O`, lalu `Enter`, kemudian `Ctrl + X`).
4. Berikan izin eksekusi pada script tersebut:
bash
sudo chmod +x /usr/local/bin/refresh-issue.sh
Langkah 2: Integrasikan dengan Systemd Getty
Agar IP selalu diperbarui setiap kali komputer booting atau kabel jaringan dicabut-pasang, kita perlu menyisipkan script ini sebelum layanan login (getty) berjalan.
Buat folder drop-in konfigurasi untuk getty@tty1:
Bash
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
Buat file konfigurasi baru di dalam folder tersebut:
Bash
sudo nano /etc/systemd/system/getty@tty1.service.d/noclear.conf
Masukkan baris berikut:
Ini, TOML
[Service]
ExecStartPre=/usr/local/bin/refresh-issue.sh
(Opsi ExecStartPre memastikan script pengambil IP berjalan tepat sebelum prompt login TTY1 muncul).
Simpan dan keluar (Ctrl + O, Enter, Ctrl + X).
Langkah 3: Reload dan Uji Coba
Langkah terakhir adalah memberi tahu systemd bahwa ada konfigurasi baru, lalu menerapkannya.
Reload daemon systemd:
Bash
sudo systemctl daemon-reload
Restart layanan getty di TTY1 untuk melihat hasilnya langsung:
Bash
sudo systemctl restart getty@tty1
Sekarang, coba kunci sesi atau reboot Debian 13 Anda. Di layar login hitam (TTY1), Anda akan melihat baris baru bertuliskan:
Alamat IP Server: 192.168.xx.xx
⚠️ Catatan Keamanan: Menampilkan alamat IP di layar login memudahkan Anda untuk melakukan remote SSH tanpa harus login langsung terlebih dahulu. Namun, pastikan server berada di lingkungan yang aman, karena siapa pun yang melihat monitor fisik server akan mengetahui IP tersebut.