« Tüm yayınlar

100 Gün DevOps: SSH Şifresini Kaldırma ve EC2 Boyutlandırma

AWS ve Linux serisinin 7. gününde SSH anahtarla girişin doğru kurulumu ve EC2 örnek tipini değiştirirken gözden kaçan public IP tuzağı ele alınıyor.

Bu yazı, KodeKloud Engineer platformundaki 100 günlük DevOps serisinin yedinci gününü ele alıyor. İlk görev, parola tabanlı SSH girişini anahtar çiftiyle değiştirmek. ssh-keygen ile anahtar üretilip ssh-copy-id ile sunucuya gönderildikten sonra asıl kritik adım atlanıyor çoğu zaman: sshd_config dosyasında PasswordAuthentication no ayarını yapıp servisi yeniden yüklemeden parola girişi hâlâ açık kalıyor ve sunucu kaba kuvvet denemelerine maruz kalmaya devam ediyor. Yazar, parolayı kapatmadan önce anahtarla girişin ikinci bir terminalde mutlaka doğrulanması gerektiğini, aksi halde kendi kendine kilitlenme riskinin doğduğunu vurguluyor.

İkinci görev EC2 örnek tipini değiştirmek (örneğin t2.micro'dan t3.medium'a). Bu işlem örnek çalışırken yapılamıyor çünkü tip, örneğin üzerinde çalıştığı fiziksel host ile bağlantılı; bu yüzden önce durdurulup ardından yeniden başlatılması gerekiyor. AWS CLI ile instance ID alınıp stop-instances ve wait instance-stopped komutlarıyla durdurma tamamlanıyor, sonra modify-instance-attribute ile tip değiştiriliyor. Hedef tipin AMI mimarisiyle uyumlu olması şart; x86 tipleri arası geçiş sorunsuzken ARM (Graviton) tiplerine geçiş ayrı bir imaj gerektiriyor.

Yazının vurguladığı asıl nokta, durdur-başlat işleminin bir yeniden başlatma (reboot) olmadığı. Örnek yeniden başladığında genellikle yeni bir public IPv4 adresi alıyor, eski adrese bağlı SSH oturumları, DNS kayıtları ya da güvenlik duvarı kuralları geçersiz kalıyor. Kalıcı bir public IP gerekiyorsa Elastic IP çözüm oluyor. Ayrıca instance-store (ephemeral) diskler durdurma sırasında siliniyor, EBS root diskleri ise güvende kalıyor. Genel ders şu: komutun başarıyla tamamlanması işin bittiği anlamına gelmiyor, gerçek operasyon bu ikisi arasındaki farkta yaşanıyor.

» KaynakDev.to