Content
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:
- PuTTYgen’i açın.
- Anahtar türünü (örneğin, RSA veya EdDSA) ve boyutunu (2048 bit veya daha fazla önerilir) seçin.
- Generate düğmesine tıklayın ve entropi oluşturmak için fareyi hareket ettirin.
- Genel anahtarı kaydedin ("Public key for pasting into OpenSSH authorized_keys file" alanındaki metni kopyalayın) ve özel anahtarı
.ppk
dosyası olarak kaydedin. - 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:
- PuTTY ve PuTTYgen — Resmi web sitesinden indirin. PuTTYgen, PuTTY paketine dahildir.
- Linux Sunucusu — OpenSSH yüklü olmalıdır (çoğu dağıtımda önceden yüklüdür).
- Sunucuya SSH Erişimi — İlk anahtar kurulumu için parola ile erişim.
- İ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.

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

Anahtar parola ile korunuyorsa, parolayı girin.

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.

İ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.