SSH güvenliğini artırırken yapılan bir ayar hatası yöneticiyi de dışarıda bırakabilir. Değişiklik boyunca mevcut oturumu açık tutun, sağlayıcı konsolunu deneyin ve çalışan yapılandırmanın yedeğini alın. Birden fazla ayarı aynı anda değiştirmek yerine her adımın ardından yeni bağlantı kurun.
Önce anahtarla girişin çalıştığını doğrulayın
İstemci bilgisayarda, kurumunuzun algoritma politikası uygunsa Ed25519 anahtarı oluşturabilirsiniz. Komut mevcut bir dosyanın üzerine yazmayı sorarsa durun; kullanılan anahtarınızı ezmeyin. Özel anahtarı güçlü bir parola ile koruyun ve sunucuya yalnızca genel anahtarı aktarın.
ssh-keygen -t ed25519 -C "admin-workstation"
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@server.example
ssh -o PreferredAuthentications=publickey -o PasswordAuthentication=no admin@server.example
Adres ve kullanıcı örnektir; gerçek SSH portu 22 değilse bağlantı komutlarına uygun -p değerini ekleyin. Sunucunun anahtar parmak izini sağlayıcı konsolu gibi bağımsız, güvenilir bir kanaldan doğrulayın. Kimlik denetimini kapatmak veya değişmiş sunucu anahtarı uyarısını araştırmadan silmek çözüm değildir.
Son komutu ikinci bir terminalden deneyin. Girişten sonra gerekli yönetim yetkisini, örneğin yetkili hesap için sudo -v ile kontrol edin. “Anahtarı kopyaladım” demek, anahtarla girişin ve yönetici erişiminin çalıştığını kanıtlamaz.
Dosyayı değil, etkin yapılandırmayı inceleyin
sudo sshd -t
sudo sshd -T
sudo sshd -T -C user=admin,host=client.example,addr=192.0.2.10
-t sözdizimi ve anahtar kontrolleri yapar; -T etkin ayarları gösterir. Son satırdaki kullanıcı ve istemci bilgilerini gerçek senaryoya göre değiştirerek Match koşullarını da değerlendirin. sshd PATH içinde değilse dağıtımınızdaki tam yolunu kullanın. Include dosyaları ve koşullu bloklar nedeniyle bir satırı değiştirmek beklediğiniz etkin değeri üretmeyebilir.
Parolayı kapatmadan önce kimlik politikasını seçin
Aşağıdaki parça yalnızca genel anahtarla giriş hedeflenen bir kurulum içindir. Parola veya klavye etkileşimli MFA kullanan bir sisteme aynen uygulanmamalıdır. Root girişini kapatmadan önce başka bir hesabın yönetim yetkisi doğrulanmış olmalıdır.
PubkeyAuthentication yes
AuthenticationMethods publickey
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
Satırları dosyanın sonuna körlemesine eklemeyin; mevcut ayarları ve dağıtımın drop-in düzenini inceleyin. Değişiklikten sonra tekrar sshd -t ve ilgili bağlantı koşullarıyla sshd -T -C ... çalıştırın. Beklenmeyen bir değer varsa hizmete uygulamadan önce nedenini bulun.
Yeniden yükleme sonrası yeni bağlantı şart
Dağıtımınızdaki servis adını belirleyin. Birçok Debian/Ubuntu kurulumunda ssh, başka dağıtımlarda sshd kullanılır. Aşağıdaki iki komut alternatiflerdir; ikisini peş peşe çalıştırmayın.
sudo systemctl reload ssh
# Servis adı sshd olan sistemde bunun yerine:
sudo systemctl reload sshd
Yükleme başarılı görünse bile ilk oturumu kapatmayın. Yeni terminalde anahtarlı giriş ve yönetim işlemini tekrar deneyin. Başarısızlıkta açık oturum veya konsoldan yalnızca yaptığınız yapılandırma değişikliğini geri alın, sözdizimini kontrol edin ve doğru hizmeti yeniden yükleyin.
Port ve bağlantı canlılığı ayarlarının sınırı
Port değiştirmek bazı otomatik taramaların gürültüsünü azaltabilir; kimlik doğrulamayı güçlendirmez. Yapılacaksa önce bulut ve sunucu güvenlik duvarında yeni port için erişimi hazırlayın, dinlemeyi doğrulayın ve eski erişim yolunu kaldırmadan yeni bağlantı kurun. Fail2ban kullanıyorsanız gerçek günlük kaynağını, jail durumunu ve port eşleşmesini denetleyin; paket kurulumu tek başına etkin koruma kanıtı değildir.
ClientAliveInterval ve ClientAliveCountMax, istemcinin yanıt verip vermediğini izler. Kullanıcının klavyeye dokunmadığı süreyi ölçen bir “boşta oturum kapatma” mekanizması değildir. İnsan etkileşimine göre süre sınırı gerekiyorsa bunu ayrı politika olarak tasarlayın. Ayrıntılar: OpenSSH sunucu yapılandırması.