7/24 Türkçe destek:[email protected]Sistem durumuDestek talebi

SSH Anahtarı Nasıl Oluşturulur ve Sunucuya Eklenir?

Okuma süresi: 3 dk

Kısa yanıt: Terminalde (Windows’ta PowerShell) ssh-keygen -t ed25519 -C "e-posta@adresiniz" komutunu çalıştırın, bir parola belirleyin. Oluşan açık anahtarı (id_ed25519.pub) ssh-copy-id kullanici@SUNUCU_IP ile veya sunucudaki ~/.ssh/authorized_keys dosyasına ekleyerek yükleyin.

Bu rehber kimin için: VPS veya SSH erişimi olan kullanıcılar · Gereken süre: 10 dakika · Seviye: Orta

SSH anahtarı, şifre yerine kriptografik bir anahtar çiftiyle giriş yapmanızı sağlar. Özel anahtar bilgisayarınızda kalır, açık anahtar sunucuya eklenir. Anahtarla giriş, kaba kuvvet şifre saldırılarını etkisiz hâle getirir ve her bağlantıda şifre yazma zorunluluğunu kaldırır.

Anahtar oluşturma ve ekleme

  1. Terminali açın: Windows 10/11’de PowerShell, macOS ve Linux’ta Terminal.
  2. Anahtarı oluşturun: ssh-keygen -t ed25519 -C "[email protected]" komutunu çalıştırın; varsayılan konumu onaylayın.
  3. Parola belirleyin: Özel anahtarınızı korumak için bir parola girin; bilgisayarınız çalınırsa anahtar tek başına kullanılamaz.
  4. Açık anahtarı kopyalayın: macOS/Linux'ta ssh-copy-id kullanici@SUNUCU_IP. Windows'ta type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh kullanici@SUNUCU_IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys".
  5. İzinleri ayarlayın: Sunucuda chmod 700 ~/.ssh ve chmod 600 ~/.ssh/authorized_keys.
  6. Test edin: ssh kullanici@SUNUCU_IP ile şifre sorulmadan bağlandığınızı doğrulayın.

cPanel ve PuTTY

Paylaşımlı hosting’de cPanel › Güvenlik › SSH Erişimi › “SSH Anahtarlarını Yönet” ekranından açık anahtarınızı içe aktarıp “Yetkilendir” düğmesine basmanız gerekir; ayrıntılar için cPanel SSH erişimi. PuTTY kullanıyorsanız PuTTYgen ile anahtarı .ppk biçimine dönüştürün. Windows’un yerleşik OpenSSH istemcisi PuTTY’ye gerek bırakmaz.

Anahtarı günlük kullanımda yönetme

Parolayla korunan bir anahtarı her bağlantıda yeniden açmamak için ssh-agent kullanın: anahtar oturum boyunca bellekte tutulur, parolayı yalnız bir kez yazarsınız.

Birden çok sunucuya bağlanıyorsanız ayarları kendi bilgisayarınızdaki ~/.ssh/config dosyasına yazın; böylece her seferinde IP, kullanıcı ve port yazmazsınız:

  • Windows: Yönetici olarak açtığınız PowerShell’de Set-Service -Name ssh-agent -StartupType Automatic ve Start-Service ssh-agent komutlarını, ardından kendi kullanıcınızla ssh-add $env:USERPROFILE\.ssh\id_ed25519 komutunu çalıştırın.
  • macOS ve Linux: ssh-add ~/.ssh/id_ed25519 yeterlidir; macOS’ta parolayı anahtar zincirine kaydetmek için ssh-add --apple-use-keychain ~/.ssh/id_ed25519 kullanın.

Bundan sonra terminalde ssh sunucum yazmanız yeterlidir.

  • Host sunucum satırı sunucuya vereceğiniz kısa adı tanımlar.
  • HostName 203.0.113.10, User deploy ve port değiştirdiyseniz Port 2222 bağlantı bilgileridir.
  • IdentityFile ~/.ssh/id_ed25519 ve IdentitiesOnly yes yalnız bu anahtarın denenmesini sağlar.

Anahtarı kaldırma ve yenileme

Bir cihazınızı kaybettiğinizde ya da sunucuya erişen biri ayrıldığında, ilgili açık anahtarın satırını sunucudaki ~/.ssh/authorized_keys dosyasından silin; satırın sonundaki açıklama, anahtarı oluştururken -C ile verdiğiniz metindir ve hangi anahtar olduğunu gösterir. Düzenlemeden sonra dosya izninin 600 kaldığını kontrol edin ve diğer anahtarlarla girişin çalıştığını yeni bir terminalden deneyin. Her cihaz için ayrı anahtar kullanırsanız tek bir anahtarı iptal etmek diğer erişimleri etkilemez.

Hâlâ çözülmediyse

“Permission denied (publickey)” hatası alırsanız authorized_keys dosyasının doğru kullanıcının ana dizininde olduğunu ve izinlerin doğru olduğunu kontrol edin; ssh -v ile ayrıntılı çıktı alın. Anahtarla giriş varsayılan olarak desteklenen VPS sunucu paketlerimizi inceleyebilirsiniz.

Sık sorulan sorular

RSA mı Ed25519 mu?

Ed25519 daha kısa, hızlı ve günümüz için önerilen türdür. Çok eski sistemler için RSA 4096 kullanabilirsiniz.

Özel anahtarı kaybedersem?

Yeni bir anahtar çifti oluşturun ve açık anahtarı, kayıtlı e-posta adresinizden isteyeceğiniz konsol erişimiyle ya da hâlâ açık olan başka bir oturumla sunucudaki ~/.ssh/authorized_keys dosyasına ekleyin; kaybolan anahtarın satırını da bu dosyadan silin.

Bağlanırken “Too many authentication failures” hatası alırsam ne yapmalıyım?

SSH istemcisi ajanda yüklü bütün anahtarları sırayla dener ve sunucunun izin verdiği deneme sayısı doğru anahtara gelmeden dolar. ~/.ssh/config dosyasında ilgili sunucu için IdentityFile satırıyla doğru anahtarı belirtip IdentitiesOnly yes ekleyin ya da tek seferlik bağlantıda ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 kullanici@SUNUCU_IP komutunu kullanın.

İlgili rehberler