SSH bağlantı noktasını değiştirme | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

SSH bağlantı noktasını değiştirme

Varsayılan SSH bağlantı noktasının (22) değiştirilmesi, otomatik taramalara ve temel brute-force saldırılarına maruz kalmayı azaltır, ancak uygun güvenlik önlemlerinin yerini tutmaz.

Warning

Herhangi bir değişiklik yapmadan önce etkin bir SSH oturumunun açık olduğundan emin olun. Yeni bağlantı noktasının çalıştığını doğrulayana kadar bu oturumu kapatmayın. Bir sorun oluşursa sunucuya erişiminizi kaybedebilirsiniz.

Bağlantı noktası numarası seçme

1024 değerinden büyük bir bağlantı noktası numarası seçin. 49152–65535 aralığındaki bağlantı noktalarının diğer bilinen hizmetlerle çakışma olasılığı daha düşüktür. 2222 veya 22222 gibi yaygın olarak kullanılan alternatiflerden kaçının; bunlar otomatik tarayıcılar tarafından sıkça hedef alınır. Bu kılavuzda örnek olarak 22777 kullanılmıştır.

Yapılandırma dosyasını yedekleme

Herhangi bir değişiklik yapmadan önce SSH yapılandırma dosyasının yedeğini oluşturun:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

Ubuntu ve Debian'da SSH bağlantı noktasını değiştirme

Debian 12 ve bazı daha yeni Ubuntu sürümlerinden (22.04+) itibaren SSH, varsayılan olarak systemd socket activation kullanabilir. Bu durumda yalnızca sshd_config içindeki Port yönergesini değiştirmek çoğu zaman yeterli değildir.

Öncelikle socket activation'ın etkin olup olmadığını kontrol edin:

systemctl is-active ssh.socket

Komut active sonucunu döndürürse SSH socket'ini yeni bağlantı noktasını kullanacak şekilde yapılandırın.

SSH socket'i için bir systemd override oluşturun:

systemctl edit ssh.socket

Aşağıdaki içeriği ekleyin:

[Socket] ListenStream= ListenStream=22777

Boş ListenStream= satırı varsayılan bağlantı noktasını (22) temizler. Bu satır olmadan SSH hem 22 numaralı bağlantı noktasını hem de yeni bağlantı noktasını dinlemeye devam edebilir.

Daha fazla güvenilirlik için bağlantı noktasını SSH yapılandırmasında da ayarlayın. Bu, systemd oluşturucusuna yardımcı olur ve OpenSSH güncellemeleri sonrasında ayarın korunmasını sağlar:

mkdir -p /etc/ssh/sshd_config.d echo "Port 22777" | tee /etc/ssh/sshd_config.d/10-port.conf

Info

Daha iyi uyumluluk için adresleri açıkça da belirtebilirsiniz:

[Socket] ListenStream= ListenStream=0.0.0.0:22777 ListenStream=[::]:22777

Yapılandırmayı kaydedin ve değişiklikleri uygulayın:

systemctl daemon-reload systemctl restart ssh.socket systemctl restart ssh

Hizmetin çalıştığını doğrulayın:

systemctl status ssh.socket

Info

Ubuntu 24.04+ gibi bazı daha yeni sistemlerde systemd oluşturucusu bağlantı noktasını sshd_config dosyasından otomatik olarak okuyabilir. Bu durumda Port değerini doğrudan değiştirmek ve ardından systemctl daemon-reload ile systemctl restart ssh.socket komutlarını çalıştırmak yeterli olabilir. Yukarıdaki override yöntemi tüm sürümlerde çalışır.

Eski Ubuntu ve Debian sürümleri

22.04 öncesi Ubuntu sürümlerinde ve 12 öncesi Debian sürümlerinde SSH, socket activation tarafından yönetilmez. SSH yapılandırma dosyasını açın:

nano /etc/ssh/sshd_config

Aşağıdaki satırı bulun:

Port 22

Satırın başındaki yorum işaretini kaldırın ve 22 değerini seçtiğiniz bağlantı noktası numarasıyla değiştirin:

Port 22777

Dosyayı kaydedin ve yapılandırmayı doğrulayın:

sshd -t

Komut bulunamazsa şunu kullanın:

/usr/sbin/sshd -t

Komut herhangi bir çıktı döndürmüyorsa yapılandırma geçerlidir. SSH hizmetini yeniden başlatın:

systemctl restart ssh

Socket activation'ı devre dışı bırakma

SSH'yi socket yerine geleneksel hizmet üzerinden yönetmeyi tercih ediyorsanız socket activation'ı devre dışı bırakabilirsiniz:

systemctl disable --now ssh.socket systemctl enable --now ssh

Bundan sonra sshd_config dosyasını yukarıda açıklandığı şekilde düzenleyin ve SSH'yi şu komutla yeniden başlatın:

systemctl restart ssh

AlmaLinux, Rocky Linux ve CentOS'ta SSH bağlantı noktasını değiştirme

SSH yapılandırma dosyasını düzenleme

SSH yapılandırma dosyasını açın:

nano /etc/ssh/sshd_config

Aşağıdaki satırı bulun:

Port 22

Satırın başındaki yorum işaretini kaldırın ve 22 değerini seçtiğiniz bağlantı noktası numarasıyla değiştirin:

Port 22777

Dosyayı kaydedin ve yapılandırmayı doğrulayın:

/usr/sbin/sshd -t

Komut herhangi bir çıktı döndürmüyorsa yapılandırma geçerlidir. SSH hizmetini yeniden başlatın:

systemctl restart sshd

Hizmetin çalıştığını doğrulayın:

systemctl status sshd

SELinux'ta bağlantı noktasına izin verme

SELinux'un etkin olduğu sistemlerde yeni bağlantı noktasına SELinux politikasında da izin vermeniz gerekir. SSH için şu anda hangi bağlantı noktalarına izin verildiğini kontrol etmek için şunu çalıştırın:

semanage port -l | grep ssh

Ardından yeni bağlantı noktasını ekleyin veya değiştirin:

semanage port -a -t ssh_port_t -p tcp 22777 || semanage port -m -t ssh_port_t -p tcp 22777

semanage yüklü değilse gerekli paketi yükleyin:

dnf install policycoreutils-python-utils

Güvenlik duvarını yapılandırma

Yeni bağlantı noktasına SSH'yi yeniden başlatmadan önce güvenlik duvarında her zaman izin verin. Önce SSH'yi yeniden başlatırsanız sunucuya erişiminizi kaybedebilirsiniz.

UFW

ufw allow 22777/tcp ufw reload ufw status

firewalld

firewall-cmd --permanent --zone=public --add-port=22777/tcp firewall-cmd --reload

iptables

iptables -I INPUT -p tcp --dport 22777 -j ACCEPT iptables-save > /etc/iptables/rules.v4

Info

iptables-save komutu kuralları yalnızca sistemde iptables-persistent yüklü ve yapılandırılmışsa bir dosyaya kaydeder. Yüklemek için şunu çalıştırın:

apt install -y iptables-persistent

Kalıcı kurallar için bu dosyaya güvenmeden önce dağıtımınızın bu dosyayı kullandığını doğrulayın. Modern sistemlerin iptables yerine nftables kullanabileceğini unutmayın. nftables kullanıyorsanız, nftables yapılandırmanıza yeni bağlantı noktasına izin veren bir kural ekleyin.

Fail2Ban'ı yapılandırma

Sunucuda Fail2Ban yapılandırılmışsa, SSH bağlantı noktasını yapılandırmasında güncelleyin. /etc/fail2ban/jail.local dosyasını veya /etc/fail2ban/jail.d/ altındaki ilgili dosyayı açın ve şu değeri ayarlayın:

port = 22777

Yapılandırmayı güncelledikten sonra Fail2Ban'ı yeniden başlatın:

systemctl restart fail2ban

Yeni bağlantı noktasını doğrulama

SSH'nin yeni bağlantı noktasını dinlediğini kontrol edin:

ss -tlnp | grep :22777

Alternatif olarak SSH ile ilgili tüm dinleyicileri listeleyebilirsiniz:

ss -tlnp | grep ssh

Daha eski sistemlerde bunun yerine netstat kullanın:

netstat -tlnp | grep :22777

Hizmet durumunu doğrudan da kontrol edebilirsiniz.

Ubuntu ve Debian'da:

systemctl status ssh.socket

AlmaLinux, Rocky Linux ve CentOS'ta:

systemctl status sshd

Mevcut SSH oturumunuzu kapatmadan yeni bir terminal penceresi açın ve yeni bağlantı noktasını kullanarak bağlanın:

ssh root@YOUR_SERVER_IP -p 22777

Bağlantı başarılı olursa eski oturumu kapatabilirsiniz. Ardından artık gerekli değilse 22 numaralı bağlantı noktasını güvenlik duvarı kurallarından kaldırın.

UFW için:

ufw delete allow 22/tcp ufw reload

firewalld için:

firewall-cmd --permanent --zone=public --remove-port=22/tcp firewall-cmd --reload

Warning

Yeni bağlantı noktasının çalıştığını doğrulamadan 22 numaralı bağlantı noktasını güvenlik duvarından kaldırmayın. Yeni bağlantı başarısız olursa, sorunu gidermek veya değişiklikleri geri almak için açık SSH oturumunu kullanın:

systemctl revert ssh.socket cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config rm -f /etc/ssh/sshd_config.d/10-port.conf systemctl daemon-reload systemctl restart ssh.socket

Socket activation devre dışıysa son iki komutu şu komutla değiştirin:

systemctl restart ssh

Sonuç

Varsayılan SSH bağlantı noktasını 22'den özel bir bağlantı noktasına değiştirmek, otomatik taramalara ve temel brute-force saldırılarına maruz kalmayı azaltabilir. Ancak bağlantı noktasını değiştirmek, ek bir güvenlik önlemi olarak değerlendirilmelidir ve SSH'nin uygun şekilde güvenli hâle getirilmesinin yerine geçmez.

Yeni bağlantı noktasını kullanarak başarılı bir şekilde bağlandığınızı doğrulayana kadar mevcut SSH oturumunuzu her zaman açık tutun. Yeni bağlantı doğrulandıktan sonra eski oturumu güvenle kapatabilir ve artık gerekli değilse 22 numaralı bağlantı noktasını güvenlik duvarından kaldırabilirsiniz.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA