SSH erişiminiz yoksa Amazon Lightsail sunucusunu nasıl kurtarabilirsiniz?
در این مقاله روش‌های ریکاوری سرور Amazon Lightsail بدون دسترسی SSH را بررسی می‌کنیم.

SSH erişiminiz yoksa Amazon Lightsail sunucusunu nasıl kurtarabilirsiniz?

Bu makale, SSH erişiminiz olmadığında bir Amazon Lightsail sunucusunu nasıl kurtaracağınızı gösterecektir. Erişimi ve verileri geri yüklemek için gereken farklı yöntemler ve araçlar hakkında ayrıntılı ve adım adım bilgi vereceğiz.
0 Hisse senetleri
0
0
0
0

Lightsail sunucusuna SSH erişimi kesildiğinde ne yapılmalı?

Üretim ortamlarında, Amazon Lightsail sunucusuna SSH erişiminin kaybedilmesi hizmet kesintilerine ve hasara neden olabilir. İşte SSH erişimi olmayan bir sunucudan kurtarma için adım adım, teknik ve pratik bir kılavuz: hızlı kontrollerden, anlık görüntüler ve yedekleme örneğine disk bağlantısı ile kurtarma yöntemine kadar.

SSH kaybının yaygın nedenleri

SSH erişiminin kesintiye uğramasına neden olan bazı yaygın sebepler şunlardır:

  • Değişim veya bozulma /etc/ssh/sshd_config
  • Dosya izinleri hatası ~/.ssh Veya /root/.ssh (izinler)
  • Dosya silme veya bozulma yetkili_anahtarlar
  • Disk dolu Bu, sshd'nin başlatılmasını veya günlük dosyalarına yazmasını engeller.
  • Dahili güvenlik duvarı değişiklikleri (ufw/iptables) veya Lightsail Güvenlik Duvarı (Ağ → Güvenlik Duvarı)
  • Paket silinmesi veya bozulması openssh-sunucusu
  • SELinux veya AppArmor sorunları
  • Yerel özel anahtarın kaybolması veya yanlış anahtar çifti
  • Yanlış başlatılan veya dosya sistemi hatası olan bir sistem.

Sıfırıncı Aşama — Hızlı Kontroller (Herhangi Bir Ağır Harekâttan Önce)

Daha karmaşık yöntemlere geçmeden önce, daha hızlı çözüme ulaşmak için bunları kontrol edin.

  • Lightsail panelinden örnek durumunu (çalışıyor / durduruldu) kontrol edin.
  • Bölümde Ağ oluşturma SSH kuralının (TCP 22) etkinleştirildiğinden emin olun.
  • Düğme SSH kullanarak bağlanın (tarayıcı tabanlı) Panelde Lightsail'i deneyin.
  • Sunucuda olası güvenlik duvarı değişiklikleri varsa, konsol veya CloudWatch günlüklerinden kayıtları kontrol edin.
  • Seri konsola erişiminiz varsa, ssh günlüklerini kontrol edin: journalctl -u sshd -b Veya tail -n 200 /var/log/auth.log

İyileşme Yöntemleri — Kolaydan İleri Seviyeye

Bu bölümde yöntemler, en az zahmetli olandan en kapsamlı olana doğru sıralanarak açıklanmıştır.

1) Web Konsolu Bağlantısı (Tarayıcı tabanlı SSH) veya Seri Konsol Kullanımı

Yerel özel anahtarla bağlantı çalışmadığında bile web konsolu bazen bağlantı kurabilir. Web konsolu bağlanmazsa, sonraki adımlara geçin.

2) Lightsail güvenlik duvarını kontrol edin.

Lightsail → Ağ → Güvenlik Duvarı panelinde, 22 numaralı bağlantı noktası için bir kuralın mevcut olup olmadığını kontrol edin:

  • Protokol: TCP
  • Bağlantı noktası aralığı: 22

Kapalıysa, açın ve tekrar deneyin.

3) Özel anahtar kaybolursa — varsayılan bölgesel anahtarı indirin

Lightsail, SSH anahtarlarını bölgeye göre yönetir. Hesap → SSH anahtarları Bölgenize ait anahtarı indirin. Sonra deneyin:

ssh -i ~/.ssh/lightsail_default_key.pem ubuntu@<public-ip>

4) Disk alanını kontrol edin ve servisleri yeniden başlatın (konsola erişiminiz varsa).

Web konsolu açılırsa, öncelikle disk alanını kontrol edin ve doluysa temizleme işlemi gerçekleştirin.

df -h
sudo journalctl --vacuum-time=2d
sudo apt-get autoremove -y
sudo journalctl -u ssh -b --no-pager
sudo tail -n 200 /var/log/auth.log

5) Temel Kurtarma Yöntemi: anlık görüntü → yardımcı disk/örnek oluştur → bağla → chroot → ayarları değiştir

Bu yöntem, konsol bağlantısı olmadığında veya sistem dosyalarının değiştirilmesi gerektiğinde kullanılır.

Genel adımlar:

  1. İstenilen örnekten, bir Anlık görüntü (Lightsail → Anlık görüntü oluştur) seçeneğini kullanın.
  2. Bu anlık görüntüden yeni bir blok depolama diski veya örneği oluşturun.
  3. Aynı dağıtıma sahip bir kurtarma örneği oluşturun.
  4. Oluşturulan diski Kurtarma örneğine bağlayın.
  5. Kurtarma örneğine giriş yapın ve diski bulun. lsblk Ardından monte edin.

mount ve chroot için örnek komutlar (diskin şu şekilde olduğunu varsayarak): /dev/xvdf1 Bağlı):

sudo lsblk
sudo mkdir -p /mnt/rescue
sudo mount /dev/xvdf1 /mnt/rescue
sudo mount --bind /dev /mnt/rescue/dev
sudo mount --bind /proc /mnt/rescue/proc
sudo mount --bind /sys /mnt/rescue/sys
sudo chroot /mnt/rescue /bin/bash

Chroot ortamında önemli eylemler şunlardır:

  • Geri dönmek yetkili_anahtarlar Kullanıcı için uygundur
  • Kurulum veya yenileme openssh-sunucusu
  • Gözden geçirme ve düzeltme /etc/ssh/sshd_config
  • SSH hizmetini etkinleştirme

Chroot içindeki örnek komutlar:

mkdir -p /home/ubuntu/.ssh
echo "ssh-rsa AAAA... your-public-key ..." >> /home/ubuntu/.ssh/authorized_keys
chown -R ubuntu:ubuntu /home/ubuntu/.ssh
chmod 700 /home/ubuntu/.ssh
chmod 600 /home/ubuntu/.ssh/authorized_keys
apt-get update && apt-get install --reinstall openssh-server -y
# Ensure sshd config allows key auth and, if needed temporarily, password auth
# Example: PubkeyAuthentication yes, PermitRootLogin prohibit-password, PasswordAuthentication yes
systemctl enable ssh
systemctl restart ssh

Chroot ortamından çıkın ve diski ayırın:

exit
sudo umount /mnt/rescue/sys
sudo umount /mnt/rescue/proc
sudo umount /mnt/rescue/dev
sudo umount /mnt/rescue

Son olarak, diski ayırın ve ya orijinal örneğe yeniden bağlayın ya da ondan yeni bir örnek oluşturun ve statik IP adresini Lightsail'e aktarın.

6) Anlık görüntüden alınan örnekle tam değiştirme (daha az zahmetli ve hızlı)

Eğer mount/chroot işlemleriyle uğraşmak istemiyorsanız:

  • Anlık görüntüden yeni bir örnek oluşturun.
  • Varsayılan anahtar veya web konsolu kullanarak yeni örneğe bağlanın.
  • Gerekirse, eski örnekten önceki statik IP adresini ayırın ve yeni örneğe bağlayın.

Bu yöntem hızlıdır ancak ağ veya cihaza özgü ayarlar gerektirebilir.

7) Windows için parola sıfırlama

Linux için bu Parola Kimlik Doğrulama Etkinleştirildi, chroot yapabilirsiniz. şifre kullanıcı adı Şifreyi değiştirin.

Windows Lightsail için, genellikle Lightsail panelinden RDP şifresini çıkarmak veya yeni bir örnek oluşturmak için bir anlık görüntü kullanmak mümkündür.

Kurtarma sonrası sorun giderme için kontrol listesi ve faydalı komutlar

  • SSH izinlerini ve dosyaları kontrol edin:
    sudo ls -la /home/ubuntu/.ssh
    sudo stat -c "%a %n" /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
  • SSH hizmetini kontrol edin:
    sudo systemctl status ssh
    sudo journalctl -u ssh -n 200
  • Güvenlik duvarı kontrolü:
    sudo ufw status verbose
    sudo iptables -L -n -v
  • Disk alanını ve günlükleri kontrol edin:
    df -h
    du -sh /var/log/*
    sudo tail -n 200 /var/log/auth.log
    sudo tail -n 200 /var/log/syslog

Tekrar kilitlenmeyi önlemek için güvenlik ipuçları ve en iyi uygulamalar

  • Her zaman en az bir yedek SSH anahtarınız olsun. İçinde yetkili_anahtarlar (İşbirlikçi veya yedek anahtar) basılı tutun.
  • İtibaren yapılandırma yönetimi Hassas değişiklikler yapmak ve bu değişikliklerin geri alınabilir olmasını sağlamak için Ansible/Chef/Puppet gibi araçlar kullanın.
  • Periyodik ve otomatik anlık görüntüler kullanın.
  • Saldırıları önlemek için ağ güvenlik duvarı ve fail2ban gibi araçlar kullanın ve IP beyaz listeleme ile SSH erişimini kısıtlayın.
  • Sorun olması durumunda günlük dosyalarına erişebilmek için merkezi günlük kaydını etkinleştirin (örneğin, günlükleri S3'e veya harici bir günlük sunucusuna gönderin).
  • Doğrudan root olarak giriş yapmaktan kaçının; bunun yerine yetkili bir kullanıcı kullanın. sudo Kullanmak.

Pratik örnek — Senaryo: authorized_keys temizlendi

Sorun: Yerel anahtar çalışmıyor ve yetkili_anahtarlar Silindi.

Hızlı çözüm: anlık görüntü → disk → kurtarma örneğine ekle → bağla → geri yükle yetkili_anahtarlar → Yeniden bağlayın veya yeni bir örnek oluşturun → Statik IP adresi ekleyin.

sudo lsblk
sudo mount /dev/xvdf1 /mnt/rescue
sudo mkdir -p /mnt/rescue/home/ubuntu/.ssh
sudo echo "ssh-rsa AAAA... your-public-key" >> /mnt/rescue/home/ubuntu/.ssh/authorized_keys
sudo chown -R 1000:1000 /mnt/rescue/home/ubuntu/.ssh
sudo chmod 700 /mnt/rescue/home/ubuntu/.ssh
sudo chmod 600 /mnt/rescue/home/ubuntu/.ssh/authorized_keys

Tüm diğer seçenekler başarısız olursa — Destek ve Veri Kurtarma Birimiyle İletişime Geçin

Manuel yapılandırma mümkün değilse veya veri bütünlüğü risk altındaysa:

  • Önceki anlık görüntüleri kullanın veya Lightsail/AWS desteğiyle iletişime geçin.
  • Hizmet kritik öneme sahipse ve acil geçiş yapmanız gerekiyorsa, yeni bir örnek oluşturun ve hizmetin çalışmaya devam etmesi için DNS veya statik IP adresini güncelleyin.

Sonuç ve nihai öneri

SSH erişimi olmadan bir Lightsail sunucusunu kurtarmak genellikle iki yöntemden biriyle yapılır:

  • Hızlı çözüm Konsol üzerinden / anahtar kurtarma / güvenlik duvarı kilidini açma — düşük maliyetli ve hızlı
  • Kurtarma yöntemi Anlık görüntü ve diskin yardımcı bir örneğe bağlanmasıyla, mount ve chroot işlemleri için daha sağlam ve tamamen kurtarılabilir dosyalar elde edilir.

Düzenli olarak ekran görüntüleri alarak ve güvenlik ipuçlarını takip ederek, SSH erişiminin kilitlenmesi riskini önemli ölçüde azaltabilirsiniz.

Sıkça Sorulan Sorular

Ayrıca Şunları da Beğenebilirsiniz
Amazon sunucuları ve bulut veri merkezleri için SSH anahtarları oluşturmaya yönelik eksiksiz kılavuz.

Amazon sunucuları ve bulut veri merkezleri için SSH anahtarları oluşturmaya yönelik eksiksiz kılavuz.

Bu makale, Amazon bulut sunucularına ve veri merkezlerine güvenli giriş yapmak için SSH anahtarlarını güvenli ve profesyonel bir şekilde nasıl oluşturacağınızı öğretecektir. Windows ve Linux'ta pratik yöntemler ve sunucu güvenliği ve yönetimi için en iyi uygulamalar hakkında bilgi edineceksiniz.