Ubuntu / Port SSH, akses root, dan pengelolaan NetworkManager

Sebelum mengubah port SSH Ubuntu atau autentikasi, identifikasi layanan dan konfigurasi socket yang aktif. Catatan ini mencakup perubahan port, akses root khusus, dan kapan nmtui tepat digunakan; pastikan akun administrator biasa, akses dengan kunci publik, dan konsol pemulihan tetap tersedia. Untuk kondisi dan prosedur terkait, lihat Konfigurasikan OpenSSH dan Uji Autentikasi Kunci Publik.

Periksa konfigurasi yang aktif terlebih dahulu

cat /etc/os-release
systemctl status ssh.socket ssh.service --no-pager
sudo ss -lntp
sudo sshd -T | grep -E "^(port|listenaddress|permitrootlogin|passwordauthentication|authenticationmethods) "

Biarkan koneksi SSH saat ini tetap terbuka dan verifikasi akses konsol. Cadangkan /etc/ssh/sshd_config dan berkas yang disertakan melalui Include. OpenSSH menggunakan nilai pertama yang diperoleh untuk banyak pengaturan; periksa sshd -T -C dengan pengguna nyata dan alamat sumber ketika aturan Match berlaku. Mengubah port tidak menggantikan autentikasi yang kuat atau pembatasan akses jaringan.

Contoh: pindahkan SSH ke port 1980

1980 adalah contoh. Pilih port yang tidak digunakan dan izinkan alamat sumber administrator di firewall host dan cloud yang aktif terlebih dahulu. Jika UFW digunakan, ganti alamat dokumentasi 192.0.2.10 di bawah ini dengan alamat manajemen nyata Anda. Untuk kondisi terkait dan prosedur, lihat Batasi Akses Manajemen dan Layanan dengan UFW.

sudo ufw allow from 192.0.2.10 to any port 1980 proto tcp

Ubah Port dalam konfigurasi SSH yang berlaku, dengan memperhatikan urutan Include dan aturan Match, alih-alih menambahkan nilai yang bertentangan. Periksa sintaksnya sebelum menerapkannya.

Port 1980
sudo sshd -t

Jika ssh.socket aktif, memulai ulang layanan saja mungkin tidak mengubah port yang didengarkan. Periksa pengaturan socket yang dihasilkan pada Ubuntu 24.04 dan versi selanjutnya. Jika perlu override secara eksplisit, gunakan sudo systemctl edit ssh.socket untuk drop-in berikut. ListenStream= yang kosong akan menghapus daftar sebelumnya. Jika socket sebelumnya terikat pada alamat IP tertentu, pertahankan pembatasan alamat tersebut; contoh yang hanya menyebut port ini dapat mendengarkan pada semua alamat.

[Socket]
ListenStream=
ListenStream=1980

Terapkan hal berikut hanya untuk konfigurasi berbasis socket yang telah dikonfirmasi. Pada sistem yang hanya menggunakan layanan, jangan aktifkan socket baru; muat ulang atau restart ssh.service yang sedang berjalan setelah validasi.

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket ssh.service
sudo ss -lntp

Dari klien yang terpisah, uji ssh -p 1980 user@server. Pertahankan aturan port lama dan koneksi saat ini sampai listener, login baru, dan sudo semua berfungsi. Jika gagal, pulihkan hanya pengaturan SSH dan override socket yang diubah dalam tugas ini dari konsol, validasikan dan terapkan, dan pulihkan akses di port asli terlebih dahulu.

Dokumentasi OpenSSH Ubuntu menjelaskan file konfigurasi dan validasi.

Perlakukan akses root langsung sebagai pengecualian

Gunakan akun normal dengan sudo sebagai jalur administrasi utama. Jika akses root langsung benar-benar diperlukan, siapkan kunci publik dan verifikasi kebijakan khusus root yang efektif.

PermitRootLogin prohibit-password
PubkeyAuthentication yes
AuthenticationMethods publickey

Nilai-nilai ini bukanlah instruksi untuk menimpa kebijakan autentikasi global suatu organisasi. Tempatkan aturan root-only dalam struktur Match yang ada sambil mempertahankan autentikasi administrator lainnya. prohibit-password menonaktifkan autentikasi kata sandi dan keyboard-interactive, tetapi tidak otomatis menonaktifkan semua metode lain; periksa AuthenticationMethods ketika akses hanya dengan kunci publik diperlukan. Status akun, izin file kunci, dan PAM dapat memberlakukan batasan tambahan.

PermitRootLogin yes bukanlah jaminan tunggal untuk akses kata sandi: autentikasi kata sandi, penguncian akun, dan PAM juga berlaku. Jangan mengaktifkan akses kata sandi root sebagai solusi rutin. Validasi dengan sshd -t, sshd -T -C untuk kondisi koneksi yang sebenarnya, koneksi baru berbasis kunci, dan sudo; setelah kebutuhan berakhir, pulihkan kebijakan root sebelumnya atau tetapkan PermitRootLogin no sesuai kebijakan yang berlaku, lalu validasi kembali.

Periksa manajer jaringan sebelum menggunakan nmtui

systemctl is-active NetworkManager systemd-networkd
sudo netplan get
command -v nmtui

nmtui mengedit profil koneksi NetworkManager. Periksa paket network-manager jika alat ini diperlukan, tetapi menginstalnya tidak secara aman memigrasikan konfigurasi Netplan/systemd-networkd yang ada. Hindari memiliki dua manajer yang mengendalikan antarmuka yang sama; tentukan renderer dan rencana pemulihan sebelum mengubah server jarak jauh. Untuk kondisi dan prosedur terkait, lihat Identifikasi Pengelolaan Netplan, NetworkManager, dan networkd.