Amazon sunucuları ve bulut veri merkezleri için SSH anahtarları oluşturmaya yönelik eksiksiz kılavuz.
Bu makalede, bulut sunucularına ve veri merkezlerine güvenli giriş yapmak için SSH anahtarları oluşturma adımlarını ele alacağız. Windows ve Linux'ta bu anahtarları nasıl oluşturacağınızı ve kullanacağınızı öğrenin.

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.
0 Hisse senetleri
0
0
0
0

Neden bir SSH anahtarı oluşturmalı ve kullanmalıyım?

Bulut ortamlarında ve uluslararası veri merkezlerinde, sunuculara güvenli ve otomatik giriş, her DevOps operasyonunun, web barındırmanın, render işlemlerinin, yapay zekanın ve veritabanı yönetiminin temel taşıdır. SSH anahtarları Bunlar, zayıf parolaların yerini alan standart, güvenli ve programlanabilir bir kimlik doğrulama yöntemidir.

Açık/özel anahtarların kullanılması, kaba kuvvet saldırılarının riskini azaltır, otomasyonu kolaylaştırır ve daha ayrıntılı erişim kontrollerinin uygulanmasını sağlar.

Önkoşullar ve temel kavramlar

Özel anahtar: Gizliliğini koruyan ve ifşa edilmemesi gereken dosyanız.

Açık anahtar: Sunucuya yerleştirilen bir dosya (authorized_keys).

Yaygın algoritmalar: ed25519 (Tavsiye edilen), RSA 4096.

Rotalar: ~/.ssh/id_* Linux/WSL üzerinde ve C:\Kullanıcılar\ \.ssh Windows üzerinde.

Erişimler: chmod 700 ~/.ssh Ve chmod 600 Özel anahtar için.

Linux/macOS/WSL'de SSH anahtarı oluşturma

Şu tavsiye edilir: ed25519 Uyumluluk nedenleriyle RSA'ya ihtiyacınız olmadığı sürece kullanın.

Shell'de anahtar oluşturma ve yönetme adımları

ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/id_rsa -o -a 100
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ls -la ~/.ssh
cat ~/.ssh/id_ed25519.pub
ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected]
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 [email protected]
chmod 400 my-aws-key.pem
ssh -i my-aws-key.pem [email protected]

Not: AWS'de, bir örnek başlattığınızda genellikle anahtarı seçer veya içe aktarırsınız. PEM dosyanız varsa, kimlik olarak onu kullanın.

Windows'ta SSH anahtarı oluşturma (PowerShell / Windows OpenSSH)

Windows 10/11'de OpenSSH istemcisi bulunur; ayrıca PuTTY/Puttygen kullanarak da bağlantı kurabilirsiniz.

PowerShell komutları

ssh-keygen -t ed25519 -C "[email protected]" -f $env:USERPROFILE\.ssh\id_ed25519
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

Dosya yolu:

  • C:\Kullanıcılar\ \.ssh\id_ed25519

  • C:\Kullanıcılar\ \.ssh\id_ed25519.pub

PuTTYgen ile PEM'i PPK'ye dönüştürün

Genel adımlar:

  • PuTTYgen'i açın.

  • Dosya > Özel anahtarı ve dosyayı yükle my-aws-key.pem Tüm dosyaları yükle (göster).

  • Özel anahtarı şu şekilde kaydedin: my-aws-key.ppk Ve bunu PuTTY'de kullanın (Bağlantı > SSH > Kimlik Doğrulama > Özel anahtar dosyası).

AWS EC2 ve Diğer Bulut Panellerine Genel Anahtarların İçe Aktarılması

AWS Konsolu: EC2 > Anahtar Çiftleri > Anahtar çiftini içe aktar. Dosya adı ve içeriği .pub Girmek.

Bir örnek oluştururken, mevcut bir anahtar çiftini seçebilirsiniz. Diğer veri merkezlerinde genellikle panelde SSH anahtarını Yükle/İçe Aktar seçeneği bulunur.

Cloud-init'e genel anahtar ekleme örneği

#cloud-config
ssh_authorized_keys:
  - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... [email protected]

Anahtarı GitLab/GitHub'a ekleyin ve CI'da kullanın.

GitLab için: Kullanıcı Ayarları > SSH Anahtarları Ardından genel anahtarı yapıştırın. Anahtarları dağıtmak için projeye gidin.

CI/CD ortamında, özel anahtarı korumalı bir değişken olarak yükleyin ve kısıtlı erişime sahip bir dosya oluşturarak iş içinde kullanın (chmod 600).

Anahtar kurulumundan sonra sunucu ve güvenlik ayarları

Adım 1: İzinleri ayarlayın.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_ed25519

Ardından ayarlar /etc/ssh/sshd_config Kontrol et ve güncelle:

  • Şifre kimlik doğrulaması yok

  • PermitRootLogin hayır

  • PubkeyAuthentication evet

  • Yapabilirsiniz Kullanıcılara İzin Ver Kullanıcıları kısıtlamak üzere ayarlandı.

  • UseDNS yok İstenirse bağlantı noktası da değiştirilebilir.

sudo systemctl restart sshd

Güvenlik Duvarı:

sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw allow 2222/tcp

Kaba kuvvet saldırılarını önlemek için Fail2ban veya CrowdSec kullanın:

sudo apt install fail2ban

Hassas sunucular için, özel ağlara doğrudan erişimi kısıtlamak amacıyla bastion/jump host kullanın.

Farklı uygulamalar için pratik ipuçları

Yatırımcılar için (Alım satım için VPS)

Bir konum seçin: En düşük gecikme süresi için aracı kurum veya borsa sunucularına yakın konum. Hedef pazarınıza yakın bir konum sağlayabilecek 85'ten fazla küresel lokasyonumuz bulunmaktadır.

SSH'yi yalnızca statik IP adresine veya VPN üzerinden erişime kısıtlamanız önerilir:

sudo ufw allow from 203.0.113.5 to any port 22

Oyuncular için (oyun VPS'si)

Oyun sunucuları için, güçlü eşleşme ve uygun CDN/BGP'ye sahip konumlar kullanın. Saldırı yüzeyini azaltmak için parolalar yerine SSH anahtarları ve bir bastion sunucusu kullanın.

Yapay zeka ve görüntü işleme için (GPU Bulut)

GPU sunucularına bağlanmak için güçlü anahtarlar (ed25519/RSA4096) kullanın ve her proje için ayrı bir kullanıcı ve anahtar atayın.

rsync -avz -e "ssh -i ~/.ssh/id_ed25519 -p 2222" /local/path user@remote:/remote/path

Hosting ve GitLab hosting için

Sunucuya özgü, sınırlı erişime sahip bir anahtar (Dağıtım anahtarı) kullanarak sunucudaki özel depolara otomatik olarak erişebilirsiniz.

Anahtar yönetimi, rotasyon ve standartlar

  • Tuşları düzenli aralıklarla (örneğin 6 ila 12 ayda bir) değiştirin.

  • Eski anahtarları çıkarın. yetkili_anahtarlar Ve bulut panelini silin.

  • Özel anahtar için parola kullanın ve bunu bir parola yöneticisinde saklayın.

  • Kuruluşlarda, merkezi yönetim için SSH sertifikaları ve CA (OpenSSH CA) kullanılır.

Ek İpuçları ve Sorun Giderme

Bir hatayla karşılaşıldığında Erişim reddedildi (publickey) Genel anahtarın mevcut olduğundan emin olun. ~/.ssh/yetkilendirilmiş_anahtarlar Mevcut ve izinleri doğru.

sudo journalctl -u sshd -e
sudo tail -f /var/log/auth.log

ProxyJump veya jump host kullanıyorsanız, yapılandırma dosyası faydalı olacaktır:

Host bastion
  HostName bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/id_ed25519

Host internal-*
  ProxyJump bastion
  User deploy
  IdentityFile ~/.ssh/id_deploy

İtibaren SunucuCanlılıkAralığı Ve SunucuCanlıSayıMaksimum Ani oturum kesintilerini önlemek için SSH yapılandırmasında kullanın.

Son güvenlik önerileri

SSH erişimini IP adresleriyle sınırlandırmak, VPN veya özel ağ kullanmak ve hassas sunucular için DDoS saldırılarına karşı koruma hizmetleri kullanmak da diğer önemli noktalardır.

Özet ve önerilen kontrol listesi

  • Anahtar oluşturma: ed25519 parola ile

  • Dosya koruması: chmod 700 ~/.ssh && chmod 600 private_key

  • SSH-Agent'ı etkinleştirme ve anahtarları ekleme

  • Genel anahtarı AWS paneline veya veri merkezine yükleyin veya cloud-init komutunu kullanın.

  • PasswordAuthentication ve PermitRootLogin'i devre dışı bırakma

  • Güvenlik Duvarı/UFW ve Fail2ban veya CrowdSec

  • Hassas erişim için bastion, IP kısıtlaması ve VPN kullanımı.

  • Düzenli anahtar çoğaltma ve döndürme

Ayrıca Şunları da Beğenebilirsiniz