PuTTY'de SSH anahtar kimlik doğrulaması

PuTTY'de SSH anahtar kimlik doğrulaması

Giriş

Bu rehberde, Windows için popüler bir SSH istemcisi olan PuTTY kullanarak SSH anahtar tabanlı kimlik doğrulamasını nasıl kuracağınızı öğreneceksiniz. Şifre tabanlı kimlik doğrulama yerine anahtar tabanlı kimlik doğrulama kullanarak SSH bağlantınızın güvenliğini artırabilirsiniz. Anahtar tabanlı kimlik doğrulama, yalnızca ilgili özel anahtara sahip olanların oturum açabilmesini sağlar, bu da daha güvenli ve güvenilir bir kimlik doğrulama yöntemi sunar.

Bu rehber, PuTTY ve bir istemci uygulaması kullanılarak SSH anahtar kimlik doğrulamasının kurulum sürecini kapsamaktadır.

Önemli Güvenlik Uyarısı: Özel anahtar kesinlikle gizli tutulmalıdır. Asla üçüncü taraflarla paylaşmayın, güvenli olmayan cihazlarda saklamayın ve ek koruma için anahtara bir parola kullanın. Anahtar tehlikeye düşerse, hemen yeni bir anahtar çifti oluşturun ve sunucudaki authorized_keys dosyasını güncelleyin.

1) Anahtar Oluşturma

PuTTYgen, öncelikle Windows için tasarlanmış PuTTY paketinin bir aracıdır ve SSH anahtar çiftlerini oluşturmak ve formatlarını dönüştürmek için kullanılır. Ana işlevi, .ppk formatında (PuTTY’ye özgü) saklanabilen genel ve özel anahtar çiftleri oluşturmaktır. Ayrıca, PuTTYgen anahtarları farklı formatlar arasında dönüştürebilir ve OpenSSH gibi çeşitli SSH istemcileri ve sunucularıyla uyumluluk sağlar.

PuTTYgen, paylaşılabilen bir genel anahtar ve gizli tutulması gereken bir özel anahtar içeren anahtar çiftleri üretir. Genel anahtar, uzak sunuculara bağlanırken kimlik doğrulama için kullanılır.

.ppk formatı PuTTY’ye özgüdür, ancak PuTTYgen anahtarları OpenSSH gibi diğer formatlara dönüştürebilir.

Alternatif: PuTTYgen ile Anahtar Oluşturma

Linux sunucusu kullanmadan, Windows makinesinde doğrudan PuTTYgen ile anahtarlar oluşturabilirsiniz. Bunu yapmak için:

  1. PuTTYgen’i açın.
  2. Anahtar türünü (örneğin, RSA veya EdDSA) ve boyutunu (2048 bit veya daha fazla önerilir) seçin. PuTTY'de SSH anahtar kimlik doğrulaması
  3. Generate düğmesine tıklayın ve entropi oluşturmak için fareyi hareket ettirin. PuTTY'de SSH anahtar kimlik doğrulaması
  4. Genel anahtarı kaydedin ("Public key for pasting into OpenSSH authorized_keys file" alanındaki metni kopyalayın) ve özel anahtarı .ppk dosyası olarak kaydedin. PuTTY'de SSH anahtar kimlik doğrulaması
  5. Genel anahtarı sunucudaki ~/.ssh/authorized_keys dosyasına ekleyin (aşağıya bakın).

Ancak bu rehberde, bir Linux sunucusunda ssh-keygen kullanarak anahtar oluşturmaya ve ardından bunları PuTTY için dönüştürmeye odaklanacağız.

Ön Koşullar

Başlamadan önce aşağıdaki bileşenlere sahip olduğunuzdan emin olun:

  1. PuTTY ve PuTTYgen — Resmi web sitesinden indirin. PuTTYgen, PuTTY paketine dahildir.
  2. Linux Sunucusu — OpenSSH yüklü olmalıdır (çoğu dağıtımda önceden yüklüdür).
  3. Sunucuya SSH Erişimi — İlk anahtar kurulumu için parola ile erişim.
  4. İsteğe Bağlı: Anahtarları korumak için bir parola (ek güvenlik için önerilir).

Sunucu Konfigürasyonunu Doğrulama

Anahtarları oluşturmadan önce, sunucuda anahtar tabanlı kimlik doğrulamanın etkinleştirildiğinden emin olun. /etc/ssh/sshd_config dosyasını (root yetkileriyle) açın:

sudo nano /etc/ssh/sshd_config

PubkeyAuthentication yes satırının mevcut olduğundan ve yorumlanmadığından emin olun. Değişiklik yaptıysanız, dosyayı kaydedin ve SSH hizmetini yeniden başlatın:

sudo systemctl restart sshd

(Bazı dağıtımlarda: sudo service ssh restart.)

Adım Adım: Linux’ta Anahtar Oluşturma

SSH ile sunucuya parola kullanarak bağlanın (PuTTY veya başka bir istemci kullanarak) ve kimlik doğrulaması yapmak istediğiniz kullanıcı olarak aşağıdaki adımları gerçekleştirin (güvenlik nedeniyle root olmaması önerilir; gerekirse sudo kullanın).

ssh-keygen aracını çalıştırın. Anahtarların nereye kaydedileceğini (varsayılan: ~/.ssh/id_rsa) soracak ve bir parola belirlemenizi isteyecektir (ek güvenlik için önerilir; geçmek için Enter’a basın).

ssh-keygen -t rsa -b 2048

(İsteğe bağlı: Daha modern bir algoritma için -t ed25519 kullanın.)

Artık ~/.ssh dizininde iki dosya olacak:

  • id_rsa — özel anahtar.
  • id_rsa.pub — genel anahtar.

Anahtarları görüntüleyin (isteğe bağlı, doğrulama için):

cat ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

~/.ssh dizinine gidin (eğer henüz orada değilseniz):

cd ~/.ssh

Genel anahtarı authorized_keys dosyasına ekleyin (mevcut içeriği üzerine yazmamak için >> kullanın):

cat id_rsa.pub >> authorized_keys

Doğru izinleri ayarlayın (SSH’nin çalışması için kritik):

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

Bu adımlardan sonra sunucu, anahtar tabanlı bağlantıları kabul etmeye hazırdır. Konfigürasyonu değiştirdiyseniz SSH hizmetini yeniden başlatın:

sudo systemctl restart sshd

2) Anahtarı Dönüştürme ve PuTTY ile Kimlik Doğrulama

Şimdi özel anahtarı (id_rsa) sunucudan yerel Windows makinenize aktarın ve PuTTY için .ppk formatına dönüştürün.

Anahtarı Yerel Makineye Aktarma

PuTTY paketinden scp (yani pscp.exe) veya başka bir güvenli yöntem kullanın. pscp ile örnek (Windows Komut İstemi’nde çalıştırın):

pscp user@server_ip:~/.ssh/id_rsa C:\path\to\local\id_rsa

(user@server_ip kısmını kendi bilgilerinizle ve C:\path\to\local kısmını yerel yol ile değiştirin.)

Uyarı: Anahtarı asla güvenli olmayan kanallar (örneğin, e-posta) üzerinden aktarmayın. Şifreli yöntemler kullanın.

.ppk Formatına Dönüştürme ile PuTTYgen

Windows’ta PuTTYgen’i açın.

PuTTY'de SSH anahtar kimlik doğrulaması

Load’a tıklayın ve id_rsa dosyasını seçin (PuTTYgen, OpenSSH formatını destekler).

PuTTY'de SSH anahtar kimlik doğrulaması

Anahtar parola ile korunuyorsa, parolayı girin.

PuTTY'de SSH anahtar kimlik doğrulaması

Yüklemeden sonra Save private key’e tıklayın ve dosyayı .ppk olarak kaydedin (örneğin, mykey.ppk). Ek bir parola istemiyorsanız, parolasız kaydetmeyi kabul edin (ancak parola kullanılması önerilir).

PuTTY’yi Anahtarı Kullanacak Şekilde Yapılandırma

PuTTY’yi açın.

Ana pencerede sunucunun IP adresini, portu (genellikle 22) ve bağlantı türü olarak SSH’yi belirtin.

Connection → SSH → Auth → Credentials bölümüne gidin.

Private key file for authentication alanına .ppk dosyasının yolunu belirtin.

PuTTY'de SSH anahtar kimlik doğrulaması

İsteğe bağlı: Otomatik oturum açma için Connection → Data’ya gidin ve Auto-login username alanına kullanıcı adını (örneğin, root veya kendi kullanıcınız) girin.

Kolaylık için oturumu kaydedin ve bağlanın.

Bağlantı sırasında, anahtar parola ile korunuyorsa, PuTTY parolayı girmenizi isteyecektir. Her şey doğru yapılandırılmışsa, sunucu parolasını girmeden oturum açarsınız.

İpucu: Birden fazla anahtarı yönetmek için PuTTY paketinden Pageant’ı (anahtar ajanı) kullanın. .ppk dosyasını Pageant’a yükleyin, PuTTY bunu otomatik olarak kullanacaktır.

Sonuç

PuTTY ve bir Linux sunucusu ile SSH anahtar kimlik doğrulamasını kurarak daha güvenli ve güvenilir bir bağlantı sağlarsınız. SSH anahtarları kullanmak, parola girme ihtiyacını ortadan kaldırır, bu da kaba kuvvet saldırılarının ve yakalamanın riskini azaltır. Bu rehberde açıklanan adımları izleyerek PuTTY ile SSH anahtar kimlik doğrulamasını yapılandırın ve avantajlarından yararlanın.

Ek İpuçları: Anahtarlarınızı düzenli olarak güncelleyin, sunucu günlüklerini (/var/log/auth.log) izleyin ve yalnızca anahtarlar oturum açma yöntemi ise sshd_config’de parola kimlik doğrulamasını devre dışı bırakın (PasswordAuthentication no). Sorun çıkarsa, dosya izinlerini ve sunucu yapılandırmasını kontrol edin.