SSH Key Nedir, Nasıl Oluşturulur ve Kullanılır? Güvenli Sunucu Erişimi Rehberi

SSH public ve private key çiftiyle istemciden sunucuya güvenli erişim akışı

SSH key, bir istemcinin uzak sunucuya parola göndermeden kimliğini kanıtlamasını sağlayan kriptografik anahtar çiftidir. Özellikle VDS, bulut sunucu ve production sistemlerinde doğru uygulandığında hem otomasyonu kolaylaştırır hem de parola tahmini saldırılarına karşı daha güçlü bir erişim modeli kurar. Bu rehber; SSH key nedir, SSH key oluşturma, anahtarı sunucuya güvenli ekleme ve yaşam döngüsü yönetimi sorularını başlangıç seviyesinde, güncel uygulamalarla ele alır.

SSH key nedir? Public key ve private key nasıl çalışır?

Bir SSH anahtar çifti iki parçadan oluşur. Private key istemci cihazda kalır ve kimlik kanıtını üretir. Public key ise bağlanılacak sunucudaki kullanıcı hesabına eklenir. Sunucu, istemcinin ilgili private key’e sahip olduğunu kriptografik olarak doğrular; private key ağ üzerinden gönderilmez.

  • Private key: Gizlidir; e-posta, mesajlaşma, ticket veya ortak klasör üzerinden asla paylaşılmamalıdır.
  • Public key: Sunucuya eklenmek üzere paylaşılabilir. Tek satırlık metin biçimindedir.
  • Passphrase: Private key dosyası ele geçirilirse kullanımını zorlaştıran ek korumadır.

Parolalı girişte aynı sır kullanıcı ve sunucu tarafındaki doğrulama sürecine dâhildir; zayıf veya tekrar kullanılan parolalar deneme saldırılarına açıktır. SSH key ile sunucu yalnızca public key’i saklar. Bununla birlikte anahtar tabanlı giriş tek başına kusursuz değildir: korunmayan private key, gereğinden fazla yetki, eski anahtarların silinmemesi veya hatalı dosya izinleri ciddi risk oluşturur.

Ed25519 mı RSA mı seçilmeli?

Yeni ve güncel sistemlerde genel tercih Ed25519 olmalıdır. Kısa anahtar boyutu, güçlü güvenlik seviyesi ve hızlı işlem avantajı sunar. Çok eski istemci, donanım, ağ cihazı ya da uyumluluk zorunluluğu varsa RSA kullanılabilir; bu durumda en az 3072 bit, pratikte 4096 bit tercih edilebilir. Eski DSA anahtarları kullanılmamalıdır. Kurumsal ortamda seçimden önce istemci ve sunucu OpenSSH sürümleriyle uyumluluk test edilmelidir.

Linux ve macOS üzerinde SSH key oluşturma

Linux ve güncel macOS sistemlerinde Terminal’i açın. Anahtarın amacını belirten bir yorum kullanmak envanteri kolaylaştırır:

ssh-keygen -t ed25519 -a 100 -C "example_user@workstation-2026"

# Eski sistem uyumluluğu gerekiyorsa:
ssh-keygen -t rsa -b 4096 -o -a 100 -C "example_user@workstation-2026"

Varsayılan dosya yolunu kabul edebilir veya amaca özel bir ad verebilirsiniz; örneğin ~/.ssh/id_ed25519_narweb_vds. İstendiğinde güçlü ve benzersiz bir passphrase belirleyin. Komut biri private key, diğeri .pub uzantılı public key olmak üzere iki dosya üretir. Public key’i görüntülemek için yalnızca .pub dosyasını açın.

Windows üzerinde SSH key oluşturma

Windows 10/11’in güncel sürümlerinde yerleşik OpenSSH Client kullanılabilir. PowerShell veya Windows Terminal’i normal kullanıcı olarak açıp aynı komutu çalıştırın:

ssh-keygen -t ed25519 -a 100 -C "example_user@windows-device"
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

ssh-keygen bulunamıyorsa Windows Ayarları içindeki İsteğe Bağlı Özellikler bölümünden OpenSSH Client kurulmalıdır. Anahtarlar varsayılan olarak kullanıcı profilindeki .ssh klasörüne kaydedilir. PuTTY kullanılan eski iş akışlarında farklı anahtar biçimleriyle karşılaşılabilir; mümkünse yerleşik OpenSSH biçiminde standartlaşın, dönüşüm yaparken özgün private key’in güvenli yedeğini koruyun.

Güçlü passphrase ve ssh-agent kullanımı

Passphrase uzun, benzersiz ve tahmin edilmesi zor olmalıdır. Anahtarı passphrase’siz bırakmak kısa vadede kolay görünse de dizüstü bilgisayar kaybı veya kullanıcı hesabı ihlalinde riski büyütür. ssh-agent, şifresi çözülmüş anahtarı sınırlı süre bellekte tutarak her bağlantıda passphrase yazma ihtiyacını azaltır.

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

# İş bitince agent'taki tüm anahtarları kaldır:
ssh-add -D

Ortak veya güvenilmeyen cihazlarda agent forwarding kullanmayın. Uzun süreli agent oturumlarını kilitleyin veya temizleyin. Otomasyon servislerinde insan anahtarını paylaşmak yerine yalnızca gereken sunucuya ve komutlara yetkili ayrı bir servis hesabı/anahtarı kullanın.

Public key sunucuya nasıl eklenir?

Sunucuda hâlihazırda güvenilir bir giriş yöntemi varsa Linux/macOS istemciden otomatik yöntem kullanılabilir:

ssh-copy-id -i ~/.ssh/id_ed25519_narweb_vds.pub example_user@203.0.113.10

ssh-copy-id yoksa public key’i güvenli yönetim konsolundan veya mevcut SSH oturumundan ekleyin. Private key dosyasını sunucuya kopyalamayın. Önce yerelde .pub dosyasının tek satırını kopyalayın, sonra sunucuda ilgili kullanıcıyla şu adımları uygulayın:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
printf '%s\n' 'PUBLIC_KEY_TEK_SATIR_BURAYA' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chown -R "$(id -un)":"$(id -gn)" ~/.ssh

Yer tutucuyu yalnızca gerçek public key satırıyla değiştirin; örneğe gerçek private key veya parola koymayın. authorized_keys her satırda bir public key tutar. Dosyanın başka kullanıcılarca yazılabilir olması OpenSSH tarafından reddedilebilir. Ev dizini sahipliği de doğru olmalıdır.

Belirli anahtar dosyasıyla ve SSH config ile bağlanma

ssh -i ~/.ssh/id_ed25519_narweb_vds example_user@203.0.113.10

Sık kullanılan sunucular için ~/.ssh/config dosyası hatayı azaltır:

Host narweb-example
    HostName 203.0.113.10
    User example_user
    IdentityFile ~/.ssh/id_ed25519_narweb_vds
    IdentitiesOnly yes
    ServerAliveInterval 30

Ardından ssh narweb-example yeterlidir. Config dosyasını kullanıcı dışında yazılabilir bırakmayın; Unix benzeri sistemlerde chmod 600 ~/.ssh/config uygulayın.

Anahtar yenileme, iptal ve çoklu kullanıcı yönetimi

Her kullanıcı ve her cihaz için ayrı anahtar üretin. Tek bir private key’i ekip içinde dağıtmak, kimin eriştiğini ayırt etmeyi ve yalnızca ayrılan kişiyi iptal etmeyi imkânsızlaştırır. authorized_keys satırlarının sonundaki açıklamaları cihaz, kullanıcı ve oluşturma tarihiyle standardize edin. Ayrılan personelin public key satırını tüm ilgili sunuculardan kaldırın; otomasyon envanterini ve bastion/erişim kayıtlarını da güncelleyin.

Rotasyonda önce yeni anahtarı ekleyin, ayrı bir terminal oturumunda giriş yaptığınızı doğrulayın, sonra eski public key’i kaldırın. Private key şüpheli biçimde açığa çıktıysa yalnızca dosyayı silmek yetmez; public karşılığını tüm sunuculardan iptal edin ve erişim kayıtlarını inceleyin. Şifreli yedek, yalnızca size ait güvenli bir parola kasasında veya şifreli çevrimdışı ortamda tutulabilir; düz metin bulut klasörü uygun değildir.

Sık karşılaşılan hatalar ve sorun giderme

  • Permission denied (publickey): Kullanıcı adı, seçilen private key ve sunucudaki public key eşleşmesini kontrol edin.
  • Too many authentication failures: Agent çok fazla anahtar deniyor olabilir; -i ve IdentitiesOnly=yes kullanın.
  • Bad permissions: İstemcide private key için chmod 600, sunucuda ~/.ssh için 700 ve authorized_keys için 600 uygulayın.
  • Host key changed: Körü körüne kayıt silmeyin; sunucunun gerçekten yeniden kurulduğunu ve yeni host key parmak izini güvenilir kanaldan doğrulayın.
  • Anahtar okunmuyor: Satır sonu, kopyalama sırasında bölünme, dosya sahipliği ve SSH servis yapılandırmasını kontrol edin.

Ayrıntılı istemci teşhisi için ssh -vvv -i ~/.ssh/id_ed25519_narweb_vds example_user@203.0.113.10 kullanılabilir. Çıktı hassas sunucu adları ve kullanıcı bilgileri içerebileceğinden paylaşmadan önce temizlenmelidir.

SSH key güvenlik kontrol listesi

  • Yeni sistemlerde Ed25519, uyumluluk gerekiyorsa güçlü RSA kullanın.
  • Private key’i asla paylaşmayın veya sunucuya yüklemeyin.
  • Her kişi, cihaz ve otomasyon için ayrı anahtar oluşturun.
  • Güçlü passphrase ve kontrollü ssh-agent kullanın.
  • authorized_keys, dizin ve sahiplik izinlerini doğrulayın.
  • Yeni anahtarlı girişi ayrı bir oturumda başarıyla test edin.
  • Parola girişini veya root erişimini yalnızca bu doğrulamadan sonra ve geri dönüş konsolu mevcutken kapatmayı değerlendirin.
  • Ayrılan personel ve kaybolan cihaz anahtarlarını hemen iptal edin.
  • Envanter, son kullanım ve periyodik rotasyon kaydı tutun.

Güvenli sunucu erişimini standartlaştırın

SSH anahtarı, güvenli erişimin yalnızca bir katmanıdır. Güncel OpenSSH, firewall, Fail2ban/rate limit, kişisel kullanıcı hesapları, en az yetki, log izleme ve güvenilir yedek birlikte ele alınmalıdır. Narweb’in VDS çözümlerini inceleyebilir; sunucu erişimi, güvenli kurulum ve operasyon kapsamınızı değerlendirmek için teknik ekiple iletişime geçebilirsiniz.

Hemen bugün siz de mutlu Narweb müşterileri arasına katılın!

Narweb Cloud altyapısına geçerek siz de hem uygun fiyat hem de kaliteli hizmet almaya hemen başlayabilirsiniz.

Copyright 2000 - 2025 © NARWEB.net. Tüm hakları saklıdır. Narweb® Markası Narnet Bilgisayar Dahili Tic. LTD. ŞTİ.'nin tescilli bir markasıdır.