Ubuntu 24.04’te SSH Portu Değişmiyor, ssh.socket Nasıl Ayarlanır

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:

  1. Yeni portu güvenlik duvarında açın: sudo ufw allow 2222/tcp.
  2. /etc/ssh/sshd_config.d/ altında Port 2222 satırı olan bir dosya oluşturun.
  3. sudo systemctl daemon-reload ve sudo systemctl restart ssh.socket komutlarını çalıştırın.
  4. 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

  • Mevcut SSH oturumunuzu işlem bitene kadar kapatmayın; yeni portu ayrı bir pencereden deneyin.
  • Sunucuya tarayıcı terminali (konsol) ile erişebildiğinizi bilin; port yanlış ayarlanırsa oradan düzeltirsiniz.
  • 1024 ile 65535 arasında, başka bir hizmetin kullanmadığı bir port seçin. Örnekte 2222 kullanılıyor.

Ubuntu 24.04’te SSH portu neden değişmiyor

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.

ubuntu 24.04 ssh portu değiştirme şeması — güvenlik duvarı, sshd_config.d, daemon-reload ve ssh.socket
Port satırı üreteç tarafından soket ayarına çevrilir; hizmeti değil soketi yeniden başlatın.

Adım adım Ubuntu 24.04 SSH portu değiştirme

  1. Yeni portu güvenlik duvarında açın. UFW etkinse bunu port değişikliğinden önce yapın, yoksa yeni porta bağlanamazsınız.
    sudo ufw allow 2222/tcp
    sudo ufw status

    Beklenen sonuç: kural listesinde 2222/tcp ALLOW satırı görünür.

  2. Portu bir ek yapılandırma dosyasına yazın. Ana dosyayı değiştirmek yerine 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.

  3. Soket ayarını yeniden üretip uygulayın.
    sudo systemctl daemon-reload
    sudo systemctl restart ssh.socket
  4. Dinlenen portu kontrol edin.
    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.

  5. Yeni portla ikinci bir oturum açın. Kendi bilgisayarınızdan:
    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.

Soket etkinleştirmesini kapatmak isterseniz

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.

Doğrulama

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.

Hâlâ çözülmediyse

  • Sunucu hem 22’yi hem yeni portu dinliyor./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.
  • Bağlantı zaman aşımına düşüyor. Yeni port güvenlik duvarında açık değildir; kurallar için UFW güvenlik duvarı kurulumu kartına bakın.
  • Bağlantı kuruluyor ama giriş reddediliyor. Sorun port değil kimlik doğrulamadır; SSH Permission denied (publickey) kartındaki adımları uygulayın.
  • Sunucuya hiç giremiyorsunuz.Konsol bağlantısı ile sunucuya erişim kartıyla girip ek dosyayı kaldırı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.

Destek talebi aç

Sıkça sorulan sorular

Ubuntu 24.04’te systemctl restart ssh neden portu değiştirmiyor?

Çü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.

SSH portunu değiştirmek güvenliği artırır mı?

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.

Ubuntu 22.04’te de aynı adımlar mı geçerli?

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ü?

Çö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.

Etiketler: systemd

İlgili çözümler