Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Güvenlik Sanal Sunucular

SSH Anahtarları ve Bulut Sunucular: Eksiksiz Kurulum ve Güvenlik Kılavuzu

SSH (Secure Shell) anahtar kimlik doğrulaması, bulut sunucularına erişimi güvence altına almak için altın standarttır. İster tek bir VPS Hosting örneği yönetiyor olun, ister tüm bir Dedicated Servers filosu, parola tabanlı girişlerin kriptografik anahtar çiftleriyle değiştirilmesi saldırı yüzeyinizi önemli ölçüde azaltır ve yönetim iş akışlarını kolaylaştırır. Bu kapsamlı kılavuz, temel mekanizmalardan adım adım yapılandırma ve güçlendirme en iyi uygulamalarına kadar bilmeniz gereken her şeyi kapsamaktadır.

SSH Anahtarları Nedir?

SSH anahtarları, bir istemciyi SSH sunucusuna doğrulamak için kullanılan asimetrik kriptografik anahtar çiftleridir. Kaba kuvvet saldırılarına, kimlik bilgisi doldurma ve kimlik avına karşı savunmasız olan kullanıcı adı/parola kombinasyonunun aksine, SSH anahtarları iki farklı bileşen arasındaki matematiksel ilişkilere dayanır:

  • Özel Anahtar: Yalnızca yerel makinenizde saklanır. Bu dosya hiçbir zaman paylaşılmamalı, iletilmemeli veya ifşa edilmemelidir. Kimliğinizin kanıtıdır.
  • Genel Anahtar: Uzak sunucuya dağıtılır. Güvenliği tehlikeye atmadan serbestçe paylaşılabilir.

Bir SSH bağlantısı başlattığınızda, sunucu genel anahtarınızın ~/.ssh/authorized_keys dosyasında mevcut olup olmadığını kontrol eder. Eğer mevcutsa, sunucu yalnızca karşılık gelen özel anahtarın sahibinin çözebileceği bir kriptografik meydan okuma yayınlar. Başarılı bir yanıt erişim sağlar — parola gerekmez.

Bulut Sunucuları için Neden SSH Anahtarları Kullanılmalı?

SSH anahtar kimlik doğrulaması, geleneksel parola girişlerine kıyasla somut ve ölçülebilir avantajlar sunar:

ÖzellikParola Kimlik DoğrulamasıSSH Anahtar Kimlik Doğrulaması
Kaba kuvvete karşı dirençDüşükSon Derece Yüksek
Kimlik avı açığıYüksekYok
Otomasyon desteğiZayıfMükemmel
Parolasız girişHayırEvet
Erişim iptaliParola değişikliği gerektirirAnahtarı authorized_keys dosyasından kaldırın

Temel Faydaların Ayrıntıları

Gelişmiş Güvenlik

SSH anahtarları 2048 bit ile 4096 bit RSA şifrelemesi (veya Ed25519 eliptik eğri kriptografisi) kullanır ve bu da onları hesaplama açısından kırmayı imkânsız kılar. Ağ üzerinden iletilen paylaşılan bir sır yoktur, bu da ele geçirme risklerini tamamen ortadan kaldırır.

Operasyonel Kolaylık

Yapılandırıldıktan sonra SSH anahtarları parolasız girişlere olanak tanır. VPS Control Panels çalıştıran ortamlar dahil birden fazla sunucu yöneten yöneticiler için bu, tekrarlayan kimlik bilgisi girişini ortadan kaldırır ve iş akışlarını önemli ölçüde hızlandırır.

Otomasyona Hazır

CI/CD boru hatları, dağıtım komut dosyaları, yapılandırma yönetimi araçları (Ansible, Puppet, Chef) ve yedekleme işlerinin tümü etkileşimsiz SSH kimlik doğrulamasına dayanır. Anahtar tabanlı kimlik doğrulama, bu kullanım durumları için tek pratik çözümdür.

Ayrıntılı Erişim Kontrolü

Her kullanıcı veya hizmet benzersiz bir anahtar çifti alır. Belirli bir kullanıcının erişimini iptal etmek için yalnızca genel anahtarlarını sunucudan silmek yeterlidir — parola sıfırlama veya hesap kilitleme gerekmez.

SSH Anahtar Kimlik Doğrulaması Nasıl Çalışır: Adım Adım

Kimlik doğrulama el sıkışmasını anlamak, sorunları gidermenize ve bu yöntemin neden bu kadar güvenli olduğunu kavramanıza yardımcı olur:

  1. Bağlantı İsteği: SSH istemciniz sunucuya bir bağlantı isteği gönderir ve hangi genel anahtarı kullanmayı planladığını bildirir.
  2. Anahtar Arama: Sunucu, eşleşen bir genel anahtar için ~/.ssh/authorized_keys dosyasını arar.
  3. Meydan Okuma Yayınlama: Bir eşleşme bulunursa, sunucu rastgele bir meydan okuma oluşturur ve bunu genel anahtarınızı kullanarak şifreler.
  4. Meydan Okumaya Yanıt: SSH istemciniz, özel anahtarınızı kullanarak meydan okumayı çözer ve şifresi çözülmüş verilerden türetilen kriptografik bir imza geri gönderir.
  5. Doğrulama ve Erişim: Sunucu, genel anahtarı kullanarak imzayı doğrular. Geçerliyse, tek bir parola iletilmeden erişim sağlanır.

Bu değişimin tamamı milisaniyeler içinde gerçekleşir ve ana bilgisayar anahtarı doğrulaması düzgün yapılandırıldığında ortadaki adam saldırılarına karşı dirençlidir.

SSH Anahtarları Nasıl Oluşturulur

Linux veya macOS’ta

Terminalinizi açın ve aşağıdaki komutu çalıştırın:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Parametre açıklaması:

  • -t rsa — RSA algoritmasını belirtir
  • -b 4096 — 4096 bitlik anahtar oluşturur (varsayılan 2048 bitten daha güçlü)
  • -C "your_email@example.com" — Anahtara tanımlayıcı bir yorum ekler

Modern Alternatif — Ed25519 (Önerilen):

ssh-keygen -t ed25519 -C "your_email@example.com"

Ed25519 anahtarları daha kısa, daha hızlı ve çoğu modern kullanım durumu için RSA-4096’dan daha güvenli kabul edilir.

Anahtar oluşturma sırasında şunları yapmanız istenecektir:

  1. Kayıt konumu seçin — Varsayılanı kabul etmek için Enter tuşuna basın (~/.ssh/id_rsa veya ~/.ssh/id_ed25519)
  2. Parola belirleyin — Kesinlikle önerilir. Bu, makinenizin ele geçirilmesi durumunda ikinci bir koruma katmanı sağlayarak özel anahtarınızı diskte şifreler

Oluşturma işleminin ardından iki dosyanız olacaktır:

  • ~/.ssh/id_rsaÖzel anahtarınız (bunu asla paylaşmayın)
  • ~/.ssh/id_rsa.pubGenel anahtarınız (dağıtmak güvenlidir)

Windows’ta

Windows 10 ve Windows 11, OpenSSH’yi yerel olarak içerir. PowerShell veya Command Prompt‘u açın ve çalıştırın:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

İşlem Linux/macOS ile aynıdır. Anahtarlarınız C:UsersYourUsername.ssh konumuna kaydedilecektir.

Alternatif: PuTTYgen

SSH istemciniz olarak PuTTY kullanıyorsanız:

  1. PuTTYgen’i açın
  2. RSA‘yı seçin ve bit sayısını 4096 olarak ayarlayın
  3. Generate‘e tıklayın ve entropi oluşturmak için farenizi hareket ettirin
  4. Özel anahtarı (.ppk formatında) kaydedin ve genel anahtar metnini kopyalayın

SSH Genel Anahtarınızı Bulut Sunucusuna Ekleme

Anahtar çiftiniz oluşturulduktan sonra, genel anahtarın hedef sunucuya yüklenmesi gerekir.

Yöntem 1: ssh-copy-id Kullanımı (Linux/macOS — Önerilen)

ssh-copy-id user@your-server-ip

Bu komut, genel anahtarınızı uzak sunucudaki ~/.ssh/authorized_keys dosyasına otomatik olarak ekler. Bir kez parola girmeniz istenecektir — bundan sonra parola tabanlı erişime gerek kalmaz.

Belirli bir anahtar dosyası belirtmek için:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@your-server-ip

Yöntem 2: Manuel Kurulum (Tüm Platformlar)

ssh-copy-id kullanılamadığında veya hassas kontrol ihtiyacınız olduğunda bu yöntemi kullanın.

Adım 1: Genel anahtarınızı görüntüleyin:

cat ~/.ssh/id_rsa.pub

Tüm çıktıyı kopyalayın — şuna benzer görünecektir:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ... your_email@example.com

Adım 2: Parola kimlik doğrulamasını kullanarak sunucunuza bağlanın:

ssh user@your-server-ip

Adım 3: Mevcut değilse .ssh dizinini oluşturun:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Adım 4: Genel anahtarınızı authorized_keys dosyasına ekleyin:

nano ~/.ssh/authorized_keys

Genel anahtarı yapıştırın, kaydedin ve çıkın (Ctrl+X, ardından Y, ardından Enter).

Adım 5: Doğru dosya izinlerini ayarlayın:

chmod 600 ~/.ssh/authorized_keys

> Kritik: Yanlış izinler SSH’nin anahtarınızı sessizce reddetmesine neden olur. .ssh dizini 700 olmalı ve authorized_keys dosyası 600 olmalıdır.

Adım 6: Mevcut oturumunuzu kapatmadan önce bağlantıyı test edin:

ssh -i ~/.ssh/id_rsa user@your-server-ip

Parola Kimlik Doğrulamasını Devre Dışı Bırakın (Kesinlikle Önerilir)

SSH anahtar kimlik doğrulamasının çalıştığı onaylandıktan sonra, parola girişlerini devre dışı bırakmak SSH sunucularına karşı en yaygın saldırı vektörünü ortadan kaldırır. Bu, herhangi bir üretim ortamı için temel bir güçlendirme adımıdır.

Adım 1: SSH daemon yapılandırma dosyasını açın:

sudo nano /etc/ssh/sshd_config

Adım 2: Aşağıdaki yönergeleri bulun ve değiştirin:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PermitRootLogin prohibit-password

Adım 3: Dosyayı kaydedin ve SSH hizmetini yeniden başlatın:

sudo systemctl restart sshd

> Uyarı: sshd‘i yeniden başlatmadan önce, SSH anahtar girişinizin ayrı bir terminal oturumunda çalıştığını doğrulayın. Uzak bir sunucudan kendinizi kilitlemek ciddi bir operasyonel risktir.

Bu değişiklikten sonra, yalnızca geçerli ve yetkili bir SSH anahtarı sunan istemciler bağlanabilecektir.

Gelişmiş SSH Anahtar Yönetimi

Birden Fazla Kullanıcıyı Yönetme

Bir sunucuya birden fazla kullanıcıya erişim vermek için, her kullanıcının genel anahtarını authorized_keys dosyasında yeni bir satıra ekleyin:

nano ~/.ssh/authorized_keys
# Add one public key per line

Erişimi İptal Etme

Belirli bir kullanıcının erişimini iptal etmek için authorized_keys dosyasını açın, anahtarlarını (sonundaki yorumla tanımlanabilir) bulun ve o satırı silin:

nano ~/.ssh/authorized_keys

Hizmet yeniden başlatması gerekmez — değişiklik hemen geçerli olur.

Birden Fazla Sunucu için SSH Yapılandırma Dosyası Kullanma

Birden fazla sunucu yönetiyorsanız, bir SSH yapılandırma dosyası (~/.ssh/config) bağlantıları basitleştirir:

Host alexhost-vps
    HostName your-server-ip
    User root
    IdentityFile ~/.ssh/id_rsa_alexhost
    Port 22

Host alexhost-dedicated
    HostName your-dedicated-ip
    User admin
    IdentityFile ~/.ssh/id_rsa_dedicated

Bu yapılandırmayla bağlanmak şu kadar basittir:

ssh alexhost-vps

Parola Yönetimi için ssh-agent Kullanma

Özel anahtarınız bir parola ile korunuyorsa, ssh-agent onu bellekte önbelleğe alır, böylece oturum başına yalnızca bir kez girmeniz gerekir:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

SSH Anahtar Güvenliği En İyi Uygulamaları

En İyi UygulamaNeden Önemlidir
Ed25519 veya RSA-4096 kullanınMaksimum kriptografik güç
Her zaman parola belirleyinMakineniz ele geçirilirse özel anahtarı korur
Özel anahtarınızı asla paylaşmayınPaylaşmak güvenlik modelini tamamen geçersiz kılar
Anahtarları periyodik olarak değiştirinBir anahtar sessizce ele geçirilirse maruz kalma süresini sınırlar
Sunucu başına benzersiz anahtarlar kullanınBir anahtarın ele geçirilmesi tüm sunucuları tehlikeye atmaz
Root parola girişini devre dışı bırakınEn yüksek ayrıcalıklı saldırı hedefini ortadan kaldırır
authorized_keys dosyasını izleyinYetkisiz anahtar eklemelerini tespit edin

SSH Anahtarları ve AlexHost Hizmetleri

SSH anahtar kimlik doğrulaması, tüm AlexHost sunucu ürünlerinde desteklenmektedir. İster Shared Web Hosting üzerinde hafif bir uygulama dağıtıyor olun, ister tam yönetilen bir VPS with cPanel ile ölçeklendiriyor olun, ister GPU Hosting üzerinde hesaplama yoğun iş yükleri çalıştırıyor olun, SSH anahtar tabanlı erişim altyapınızın ihtiyaç duyduğu güvenlik temelini sağlar.

Eksiksiz sunucu güvenliği için, SSH güçlendirmeyi web’e yönelik tüm trafiği şifrelemek amacıyla bir SSL Certificate ile eşleştirmeyi düşünün — hem sunucu yönetiminiz hem de kullanıcılarınız için uçtan uca koruma sağlayın.

Sıkça Sorulan Sorular

Aynı sunucuda birden fazla SSH anahtarı kullanabilir miyim?

Evet. Her genel anahtar authorized_keys dosyasında bir satır kaplar. Yetkili anahtar sayısında pratik bir sınır yoktur.

Özel anahtarımı kaybedersem ne olur?

O anahtar çifti aracılığıyla erişiminizi kaybedersiniz. Parola kimlik doğrulaması devre dışıysa ve başka bir erişim yönteminiz yoksa, yeniden erişim sağlamak ve yeni bir anahtar eklemek için hosting sağlayıcınızın bant dışı konsol erişimini (AlexHost’un VPS kontrol paneli gibi) kullanmanız gerekebilir.

Ed25519, RSA’dan daha mı iyi?

Çoğu modern kullanım durumu için evet. Ed25519, daha kısa anahtarlar ve daha hızlı işlemlerle eşdeğer veya üstün güvenlik sunar. RSA-4096 hâlâ kabul edilebilir olmakla birlikte, birçok güvenlik uzmanı tarafından eski nesil olarak değerlendirilmektedir.

Tüm sunucular için aynı SSH anahtarını kullanmalı mıyım?

Hayır. Sunucu başına benzersiz anahtar çiftleri kullanmak patlama yarıçapını sınırlar — bir özel anahtar ele geçirilirse yalnızca o sunucu risk altındadır.

Sonuç

SSH anahtar kimlik doğrulaması yalnızca bir en iyi uygulama değil — ciddi herhangi bir bulut sunucusu dağıtımı için temel güvenlik gereksinimidir. Savunmasız parola girişlerini kriptografik anahtar çiftleriyle değiştirerek kaba kuvvet, kimlik bilgisi doldurma ve parola ele geçirme dahil tüm saldırı kategorilerini ortadan kaldırırsınız.

Kurulum süreci mütevazı bir tek seferlik yatırım gerektirir: bir anahtar çifti oluşturun, genel anahtarı sunucunuza dağıtın, parola kimlik doğrulamasını devre dışı bırakın ve bu kılavuzda özetlenen yönetim uygulamalarını hayata geçirin. Bu yatırımın getirisi, çok daha güvenli, daha yönetilebilir ve otomasyona daha uygun bir sunucu altyapısıdır.

Sunucularınızı bugün AlexHost’un geniş hosting çözümleri yelpazesiyle güvence altına almaya başlayın — giriş seviyesi VPS Hosting‘den yüksek performanslı Dedicated Servers‘a kadar — hepsi ilk günden itibaren modern güvenlik standartlarını destekleyecek şekilde inşa edilmiştir.

Güvenlik Özel Sunucular Yönetim
Linux Sanal Sunucular
Linux Sanal Sunucular Yönetim

Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bilgiye hızlı erişim
Bilgiye hızlı erişim

Zamandan tasarruf edin ve sorunuza hızlı bir yanıt alın

Sorunları kendiniz çözün
Sorunları kendiniz çözün

Bilgi tabanı, teknik görevleri kendi başınıza halletmenize olanak tanıyan ayrıntılı eğitimler içerir.

Becerilerin geliştirilmesi
Becerilerin geliştirilmesi

Bilgi tabanını kullanarak, web barındırma ve ilgili konular hakkındaki bilgilerinizi genişletirsiniz

Çizimler ve diyagramlar
Çizimler ve diyagramlar

Birçok makaleye, karmaşık süreçlerin ve ayarların anlaşılmasını kolaylaştıran resimler ve diyagramlar eşlik etmektedir.

Yararlı Püf Noktaları
Yararlı Püf Noktaları

Site veya web uygulamanızın performansını artırmak için faydalı ipuçları ve püf noktaları bulacaksınız.

Verilen konuların uygunluğu
Verilen konuların uygunluğu

Bilgi bankasındaki bilgiler, BT altyapısı ve AlexHost hizmeti alanındaki en son değişiklikleri ve eğilimleri yansıtacak şekilde düzenli olarak güncellenmektedir

Aradığınız konuyu bulamadınız mı? Mükemmel bir çözüm var

Seçkin Misafirler ve Müşteriler! Sizin rahatınız bizim önceliğimizdir! Belirli bir yazılımı kurmakta veya bir sunucuyu dağıtmakta zorluk çekiyorsanız, lütfen bizimle iletişime geçmekten çekinmeyin. Görüşlerinize değer veriyoruz ve sorunlarınızı çözmenize yardımcı olmaya her zaman hazırız.

Dahası, size bilgi tabanımızın oluşturulmasına aktif olarak katılma fırsatı veriyoruz. Veritabanımıza dahil edilmesini istediğiniz konularınız veya sorularınız varsa, bize bildirin! İhtiyaçlarınıza göre ayrıntılı makaleler ve kılavuzlar yazmaya hazırız.

AlexHost ile deneyiminizi mümkün olduğunca rahat ve verimli hale getirmek için çalışıyoruz ve bilgi tabanına katkınız bu hedefe ulaşmamıza yardımcı oluyor. Bize ulaşın ->
info@alexhost.com ve bizimle konaklamanızı nasıl daha iyi hale getirebileceğimizi bize bildirin.

Solution Image