Son gözden geçirme: Kasım 2026 · Ubuntu 24.04 openssh-server paket belgesine (README.Debian) göre
Hızlı çözüm
Ubuntu 24.04 SSH portu değiştirme işleminde sshd_config dosyasındaki Port satırı tek başına yetmez; SSH bu sürümde ssh.socket ile başlatılır ve dinlenen port, systemd’nin yeniden üretmesi gereken soket ayarından gelir:
sudo ufw allow 2222/tcp./etc/ssh/sshd_config.d/ altında Port 2222 satırı olan bir dosya oluşturun.sudo systemctl daemon-reload ve sudo systemctl restart ssh.socket komutlarını çalıştırın.sudo ss -tlnp | grep ssh ile yeni portu görün, ikinci bir oturumla bağlanmayı deneyin.| Panel | SSH (komut satırı) |
|---|---|
| Sistem | Ubuntu 24.04 LTS (openssh-server, systemd soket etkinleştirme) |
| Yetki | root ya da sudo |
| Narhost ürünü | VPS Sunucu, VDS Sunucu |
Başlamadan önce
Eski Ubuntu sürümlerinde sshd_config içindeki Port değerini değiştirip systemctl restart ssh çalıştırmak yeterliydi. Ubuntu 22.10’dan beri openssh-server varsayılan olarak systemd soket etkinleştirmesiyle çalışır: 22 numaralı portu SSH hizmeti değil ssh.socket birimi dinler ve bağlantı gelince hizmeti başlatır. Bu yüzden yalnız hizmeti yeniden başlatmak dinlenen portu değiştirmez; sunucu 22’yi dinlemeye devam eder.
Ubuntu 24.04’te paket bu sorunu bir üreteçle çözer. Paketin README.Debian belgesine göre sshd-socket-generator, SSH yapılandırmasını okur ve varsayılan dışında bir Port ya da ListenAddress bulursa ssh.socket için gerekli ayarı üretir. Üretecin çalışması için daemon-reload, yeni ayarın uygulanması için de soketin yeniden başlatılması gerekir.

sudo ufw allow 2222/tcp
sudo ufw status
Beklenen sonuç: kural listesinde 2222/tcp ALLOW satırı görünür.
sshd_config.d klasörünü kullanmak, paket güncellemelerinde çakışmayı önler.
echo "Port 2222" | sudo tee /etc/ssh/sshd_config.d/10-port.conf
sudo sshd -t
Beklenen sonuç: sshd -t hiçbir çıktı vermez. Bir hata satırı görürseniz devam etmeden dosyayı düzeltin.
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo ss -tlnp | grep -E ':22 |:2222 '
Beklenen sonuç: dinleme satırlarında :2222 görünür, :22 görünmez. Satırların sonunda süreç adı olarak systemd görünmesi normaldir; portu soket birimi tutar.
ssh -p 2222 [email protected]
Bağlantı açıldıysa eski oturumu kapatabilir ve UFW’deki 22 kuralını sudo ufw delete allow 22/tcp ile kaldırabilirsiniz.
Dikkat
Port 22’yi güvenlik duvarından yeni porta bağlandığınızı görmeden kaldırmayın. Bağlantı kurulamazsa tarayıcı terminalinden girip 10-port.conf dosyasını silin, ardından daemon-reload ve restart ssh.socket komutlarını tekrarlayın; SSH 22’ye döner.
Bazı yönetim araçları ve eski betikler SSH’ın klasik ssh.service olarak çalışmasını bekler. Paket belgesi, üreteci maskeleyip hizmete dönmeyi şöyle tarif eder:
sudo mkdir -p /etc/systemd/system-generators/
sudo ln -s /dev/null /etc/systemd/system-generators/sshd-socket-generator
sudo systemctl daemon-reload
sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
Bu durumda sshd_config içindeki Port değeri doğrudan SSH hizmeti tarafından okunur ve sonraki port değişikliklerinde sudo systemctl restart ssh yeterli olur.
Sonuç
ss -tlnp çıktısında yalnız yeni port görünüyor ve ssh -p 2222 ile bağlanabiliyorsanız Ubuntu 24.04 SSH portu değiştirme işlemi tamamlanmıştır. Sunucu yeniden başlatıldıktan sonra da aynı komutla portu bir kez daha kontrol edin.
/etc/systemd/system/ssh.socket.d/ altında elle eklenmiş eski bir ListenStream dosyası olabilir; Ubuntu 22.10 ve 23.04 için önerilen bu yöntem 24.04’te üreteçle çakışır. Dosyayı silip daemon-reload yapın.Narhost desteği
VPS ve VDS sunucular yönetimsizdir; SSH ayarları sizin sorumluluğunuzdadır. Konsola da erişemiyorsanız talebe sunucu adını, değiştirdiğiniz portu ve son çalıştırdığınız komutları ekleyin.
Sonraki adımlar
Çünkü portu SSH hizmeti değil ssh.socket birimi dinler. Port değişikliği önce daemon-reload ile soket ayarına aktarılmalı, sonra ssh.socket yeniden başlatılmalıdır. Yalnız hizmeti yeniden başlatmak soketi etkilemez.
Otomatik taramaların ve günlüklerdeki gürültünün büyük kısmını azaltır, ama tek başına koruma değildir. Asıl koruma parola girişini kapatıp anahtar kullanmak, root girişini engellemek ve Fail2ban gibi bir araçla deneme sınırlamaktır.
Hayır. Ubuntu 22.04 LTS soket etkinleştirmesi kullanmaz; orada Port satırını değiştirip sudo systemctl restart ssh çalıştırmak yeterlidir. Soket yapısı 22.10 ile geldi, üreteç ise 24.04’te eklendi.
Bu makale sorununuzu çözdü mü?
Geri bildiriminiz için teşekkürler.
Çözemediniz mi?
Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.