---
title: "Cara Mengganti Port SSH dan Hostname di Ubuntu 24.04"
description: "Langkah aman mengganti port SSH di Ubuntu 24.04 yang memakai ssh.socket, membuka port baru di UFW, lalu mengganti hostname dengan hostnamectl."
url: "https://nivelva.com/insight/cara-mengganti-port-ssh-hostname-ubuntu-24-04"
category: "Server \u0026 Infrastruktur"
tags: ["ssh","ubuntu 24.04","hostname","ufw","keamanan server"]
author: "Theresia Candiawan"
published: "2026-11-07T05:56:00+07:00"
updated: "2026-11-07T05:56:00+07:00"
language: "id"
publisher: "Nivelva (https://nivelva.com)"
---

# Cara Mengganti Port SSH dan Hostname di Ubuntu 24.04

> **Jawaban singkat:** Di Ubuntu 24.04, ubah Port di /etc/ssh/sshd_config, buka port baru di firewall, lalu jalankan systemctl daemon-reload dan systemctl restart ssh.socket karena SSH memakai socket activation. Hostname diganti dengan hostnamectl set-hostname dan disesuaikan di /etc/hosts.

Sudah mengubah `Port` di `sshd_config`, me-restart SSH, tapi server tetap mendengarkan di port 22? Di Ubuntu 24.04, itu perilaku yang wajar. SSH di versi ini dijalankan lewat **socket activation** systemd (`ssh.socket`), sehingga port yang didengarkan diatur oleh unit socket, bukan langsung oleh proses sshd.

Jawabannya: setelah mengubah port di konfigurasi, jalankan `systemctl daemon-reload` lalu `systemctl restart ssh.socket`. Panduan di bawah menyusun urutannya agar kamu tidak terkunci dari server, lalu dilanjutkan dengan mengganti hostname.

## Sebelum mulai, apa yang perlu disiapkan?

- Akses SSH dengan user yang punya hak sudo. Bila masih login sebagai root, buat dulu user biasa seperti dijelaskan di [cara membuat user baru dan memberi akses sudo](https://nivelva.com/insight/cara-membuat-user-baru-memberi-akses-sudo-linux).
- Akses konsol darurat dari panel penyedia VPS (VNC atau console web). Ini penyelamat bila konfigurasi salah.
- Satu nomor port pengganti. Pilih angka di atas 1024 yang tidak dipakai layanan lain, misalnya 2222 atau 49022.

Mengganti port SSH bukan pengaman utama. Ia mengurangi kebisingan bot yang memindai port 22, tapi perlindungan sebenarnya tetap SSH key, menonaktifkan login password, dan pembatasan percobaan login. Bacaan lanjutannya ada di [langkah awal mengamankan VPS baru](https://nivelva.com/insight/cara-mengamankan-vps-baru).

## Bagian 1: Mengganti port SSH

1. **Jangan tutup sesi SSH yang sedang aktif.** Semua langkah dikerjakan di sesi ini, dan pengujian dilakukan dari jendela terminal kedua. Bila ada yang salah, sesi pertama masih bisa dipakai untuk memperbaiki.
2. **Buka port baru di firewall lebih dulu.** Bila UFW aktif, jalankan `sudo ufw allow 2222/tcp`, lalu cek dengan `sudo ufw status`. Bila penyedia VPS punya firewall di panel (security group), buka juga port 2222 di sana.
3. **Ubah konfigurasi SSH.** Buka `sudo nano /etc/ssh/sshd_config`, cari baris `#Port 22`, lalu ganti menjadi `Port 2222` (tanpa tanda pagar). Simpan file.
4. **Pastikan tidak ada setelan Port lain.** Ubuntu memuat file tambahan dari `/etc/ssh/sshd_config.d/`. Cek dengan `grep -ri '^port' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/`. Setiap baris `Port` menambah satu port yang didengarkan, jadi hapus yang tidak kamu inginkan.
5. **Uji sintaks konfigurasi.** Jalankan `sudo sshd -t`. Bila tidak ada keluaran, konfigurasi valid.
6. **Terapkan ke socket.** Jalankan `sudo systemctl daemon-reload` lalu `sudo systemctl restart ssh.socket`. Langkah `daemon-reload` wajib karena generator systemd membaca port dari `sshd_config` dan membuat ulang pengaturan socket.
7. **Cek port yang didengarkan.** Jalankan `sudo ss -tlnp | grep -E ':22|:2222'`. Seharusnya hanya port 2222 yang muncul.
8. **Uji dari terminal kedua.** Dari komputermu, jalankan `ssh -p 2222 user@ip-server`. Lanjutkan hanya bila login berhasil.
9. **Tutup port lama.** Setelah login lewat port baru berhasil, hapus aturan lama, misalnya `sudo ufw delete allow OpenSSH` atau `sudo ufw delete allow 22/tcp`, sesuai aturan yang tercantum di `sudo ufw status numbered`.

Kalau perintah `systemctl is-active ssh.socket` menjawab `inactive`, berarti servermu menjalankan SSH tanpa socket activation (sebagian image VPS mengatur begitu). Dalam kondisi itu, cukup jalankan `sudo systemctl restart ssh` setelah langkah 5.

> **Terkunci dari server?:**
>
> Bila login lewat port baru gagal dan sesi lama sudah tertutup, masuk lewat konsol darurat di panel VPS, lalu kembalikan `Port 22` atau buka port baru di firewall. Penyebab paling umum adalah port belum dibuka di UFW atau di firewall panel penyedia.

Setelah port diganti, simpan di `~/.ssh/config` komputermu agar tidak perlu mengetik `-p` setiap kali:

```text
Host vps-kantor
    HostName 203.0.113.10
    User deploy
    Port 2222
```

Sekarang cukup ketik `ssh vps-kantor`. Perintah `scp` dan `rsync` juga ikut memakai setelan ini bila kamu menulis `vps-kantor` sebagai nama host. Contohnya ada di panduan [memindahkan file dengan SCP dan rsync](https://nivelva.com/insight/cara-memindahkan-file-server-scp-rsync).

Bila kamu memakai Fail2ban, periksa juga pengaturan `port` di jail sshd agar memblokir port yang benar.

## Bagian 2: Mengganti hostname

Hostname adalah nama server yang tampil di prompt terminal, log, dan email sistem. Nama acak bawaan image VPS sebaiknya diganti dengan nama yang menjelaskan fungsinya, misalnya `web-01` atau `db-jkt`.

1. **Lihat hostname sekarang** dengan `hostnamectl`.
2. **Ganti hostname** dengan `sudo hostnamectl set-hostname web-01`. Gunakan huruf kecil, angka, dan tanda hubung saja.
3. **Sesuaikan `/etc/hosts`.** Buka `sudo nano /etc/hosts` dan ubah baris `127.0.1.1` agar memakai nama baru, misalnya `127.0.1.1 web-01`. Bila punya nama domain lengkap, tulis `127.0.1.1 web-01.contoh.co.id web-01`.
4. **Cek cloud-init.** Banyak VPS memakai cloud-init yang bisa mengembalikan hostname lama saat reboot. Buka `/etc/cloud/cloud.cfg` dan pastikan ada baris `preserve_hostname: true`. Bila file itu tidak ada, servermu tidak memakai cloud-init dan langkah ini bisa dilewati.
5. **Muat ulang prompt.** Logout lalu login lagi, atau jalankan `exec bash`, agar nama baru tampil di prompt.

Bila setelah mengganti hostname muncul pesan `sudo: unable to resolve host`, artinya nama baru belum tercantum di `/etc/hosts`. Ulangi langkah 3.

## Ringkasan perintah

| Tujuan | Perintah |
|:--|:--|
| Buka port baru di UFW | `sudo ufw allow 2222/tcp` |
| Uji konfigurasi SSH | `sudo sshd -t` |
| Terapkan port baru (socket) | `sudo systemctl daemon-reload` lalu `sudo systemctl restart ssh.socket` |
| Cek port yang didengarkan | `sudo ss -tlnp` |
| Login ke port baru | `ssh -p 2222 user@ip-server` |
| Ganti hostname | `sudo hostnamectl set-hostname web-01` |
| Cek hostname | `hostnamectl` |

## Pertanyaan yang sering diajukan

### Kenapa sshd masih mendengarkan di port 22 padahal sudah diganti?

Di Ubuntu 24.04, port diatur oleh ssh.socket. Jalankan systemctl daemon-reload lalu systemctl restart ssh.socket. Me-restart ssh.service saja tidak cukup.

### Port berapa yang sebaiknya dipakai untuk SSH?

Tidak ada angka wajib. Pilih port di atas 1024 yang tidak dipakai layanan lain di servermu, lalu catat di dokumentasi tim.

### Apakah mengganti port SSH membuat server aman?

Hanya mengurangi pemindaian otomatis. Keamanan utama tetap SSH key, menonaktifkan login password dan root, serta pembatasan percobaan login.

### Apakah mengganti hostname mengganggu website yang berjalan?

Umumnya tidak, karena website diakses lewat domain dan IP. Yang perlu dicek adalah aplikasi yang memakai hostname di konfigurasinya, misalnya server email.

### Bagaimana kalau ingin menjalankan SSH tanpa socket activation?

Bisa, dengan sudo systemctl disable --now ssh.socket lalu sudo systemctl enable --now ssh.service. Setelah itu sshd membaca port langsung dari sshd_config. Untuk sekadar mengganti port, langkah ini tidak perlu.

## Checklist sebelum selesai

Pastikan semua poin ini terpenuhi sebelum menutup sesi lama:

- Port baru sudah dibuka di UFW dan firewall panel penyedia.
- `sudo sshd -t` bersih dan `ss -tlnp` hanya menampilkan port baru.
- Login dari terminal kedua berhasil sebelum sesi lama ditutup.
- Aturan port 22 sudah dihapus dari firewall.
- Hostname baru tercantum di `/etc/hosts` dan bertahan setelah reboot.

## Sumber

- <https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/2069041>
- <https://www.freedesktop.org/software/systemd/man/latest/hostnamectl.html>
- <https://man.openbsd.org/sshd_config>

---

Diterbitkan oleh Nivelva Insight (https://nivelva.com/insight/). Artikel ini: https://nivelva.com/insight/cara-mengganti-port-ssh-hostname-ubuntu-24-04
Kontak Nivelva: WhatsApp https://wa.me/6285111245007, email hello@nivelva.com
