SSH Anahtarı ile Windows’tan Linux’a Bağlanma

SSH key ile bağlantı, Linux sunucular için parola kullanımına kıyasla daha güvenli bir erişim yöntemi sunar. Anahtar tabanlı kimlik doğrulama, yetkisiz erişim riskini önemli ölçüde azaltır. Bu yazıda Windows üzerinden SSH key oluşturma sürecini ve Linux sunucuya bağlanma aşamalarını inceleyeceğiz.

SSH Key Nedir?

SSH key kullanımı, Linux sunucular için parola tabanlı erişime göre daha güvenli bir yapı sunar. Anahtar ile bağlantı kurulması, yetkisiz erişim risklerini azaltır. Bu içerikte Windows üzerinden SSH anahtarı oluşturma ve Linux sunucuya bu anahtar ile bağlanma adımlarını inceleyeceğiz.

SSH key kullanımı, parola tahminine dayalı saldırıları ve otomatik brute force denemelerini büyük ölçüde engeller. Aynı zamanda bağlantı sürecini hızlandırarak sistem yöneticilerine daha sorunsuz bir erişim deneyimi sunar.

Windows’ta SSH Anahtarı Oluşturma

Windows 10 ve 11 sürümleri OpenSSH desteği ile birlikte gelir. Bu destek sayesinde PowerShell üzerinden ek bir araç yüklemeden SSH anahtarı oluşturmak mümkündür.

Öncelikle PowerShell’i açalım ve sistemde OpenSSH olup olmadığını kontrol edelim.

ssh -V

Eğer sürüm bilgisi ekrana geliyorsa sistem hazır demektir.

ssh-keygen

Bu komut çalıştırıldığında sistem sırasıyla anahtarın kaydedileceği konumu ve isteğe bağlı bir parola belirlemenizi ister. Varsayılan ayarları kabul etmek için Enter tuşuna basmak yeterlidir.

İşlem tamamlandığında kullanıcı dizini altında .ssh klasörü oluşur ve içinde private ve public key dosyaları yer alır.

SSH Key Dosyalarının Konumu

SSH anahtarı oluşturulduktan sonra Windows tarafında biri private biri public olmak üzere iki dosya oluşur. Bu dosyalar C:\Users\KULLANICI_ADI\.ssh\ dizini altında yer alır. id_rsa private key olarak saklanmalı ve paylaşılmamalıdır, id_rsa.pub ise Linux sunucuya eklenen public key’dir.

Bu ayrımın doğru yapılması hayati önem taşır. Yanlış anahtarın paylaşılması, sistem güvenliği açısından ciddi riskler oluşturur.

Linux Tarafında SSH Public Key Ekleme

Anahtar tabanlı bağlantının çalışması için public key’in Linux sunucuda kullanıcıya tanımlanması şarttır. Bu işlem manuel olarak yapılabileceği gibi ssh-copy-id komutu ile çok daha pratik şekilde gerçekleştirilebilir. Sunucuya hâlihazırda parola ile bağlanabiliyorsan tek bir komut yeterlidir.

ssh-copy-id kullanıcı@SUNUCU_IP

Manuel Olarak Public Key Ekleme

Bazı sistemlerde otomatik yöntem kullanılamayabilir. Bu durumda public key manuel olarak eklenebilir. Öncelikle Windows tarafında public key içeriğini görüntüleyelim.

type %USERPROFILE%\.ssh\id_rsa.pub

Bu çıktıyı kopyalayalım. Ardından Linux sunucuya bağlanıp ilgili dosyayı açalım.

nano ~/.ssh/authorized_keys

Kopyalanan anahtarı bu dosyaya yapıştırdıktan sonra kaydedelim. Ardından dosya ve klasör yetkilerini kontrol edelim. SSH, güvenlik nedeniyle bu izinlerin doğru olmasını ister.

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

SSH Key ile Linux Sunucuya Bağlanma

Public key sunucuya eklendikten sonra artık parola girmeden bağlantı kurulabilir. Windows PowerShell üzerinden aşağıdaki komut yeterlidir.

ssh kullanıcı@SUNUCU_IP

Eğer sistemde birden fazla SSH key varsa ve belirli bir anahtar kullanılacaksa -i parametresi ile private key belirtilebilir.

ssh -i C:\Users\KULLANICI_ADI\.ssh\id_rsa kullanıcı@SUNUCU_IP

Bağlantı doğrudan açılıyorsa SSH key yapılandırması başarılıdır.

PuTTY Kullananlar İçin SSH Anahtarı Oluşturma

PuTTY tercih eden kullanıcılar SSH key oluşturma işlemini PowerShell yerine PuTTYgen aracılığıyla gerçekleştirir. Oluşturulan private key .ppk uzantılı olarak kaydedilir, public key ise Linux sunucuda ilgili kullanıcının authorized_keys dosyasına tanımlanır.

PuTTYgen Nasıl Temin Edilir?

PuTTYgen, PuTTY yazılımı ile birlikte gelen bir bileşendir. PuTTY kurulumu yapıldığında PuTTYgen otomatik olarak sisteme eklenmiş olur.

PuTTYgen’e Erişim

PuTTYgen, Başlat menüsünde PuTTY klasörü altında yer alır. Uygulama açıldığında anahtar oluşturma arayüzü doğrudan görüntülenir.

Yeni SSH Anahtarı Oluşturma

Anahtar türü olarak genellikle RSA seçilir ve 2048 bit çoğu kullanım için yeterlidir. Bilgileri girdikten sonra Genarate butonuna basalım.

Private Key ve Parola Ayarı

Anahtar üretildikten sonra private key .ppk formatında kaydedilir ve tercihen parola ile korunur. Bu dosya, PuTTY bağlantılarında kullanılacağı için güvenli bir yerde saklanmalıdır.

Public Key’i Linux Sunucuya Ekleme

Public key, Linux sunucuda ilgili kullanıcının ~/.ssh/authorized_keys dosyasına eklenir. Bu işlem kullanıcıya parola girmeden SSH erişimi sağlar.

PuTTY ile SSH Key Kullanarak Bağlanma

PuTTY ayarlarında SSH → Auth bölümünden .ppk uzantılı private key dosyası seçilir. Bağlantı başlatıldığında anahtar doğrulaması otomatik olarak yapılır.

SSH key ile bağlantı sağlandıktan sonra sistem güvenliği daha da artırılabilir. Parola ile SSH erişimini kapatmak, root kullanıcıyla doğrudan bağlantıyı devre dışı bırakmak ve Fail2ban gibi ek güvenlik katmanları kullanmak sunucuyu çok daha dayanıklı hâle getirir.

Daha önceden hazırlamış olduğumuz blog yazımızı paylaşıyorum.

Sık Sorulan Sorular

authorized_keys dosyası var ama SSH key hiç okunmuyor?

SSH, dosya ve klasör izinlerine çok duyarlıdır. .ssh klasörü 700, authorized_keys dosyası 600 iznine sahip değilse anahtar tamamen yok sayılır.

ssh-copy-id çalışmıyor, Windows’ta bu komut yok mu?

Bazı Windows sürümlerinde ssh-copy-id varsayılan olarak gelmez. Bu durumda public key’i manuel olarak authorized_keys dosyasına eklemek gerekir.

Aynı Windows makinede birden fazla SSH key kullanabilir miyim?

~/.ssh/config dosyası oluşturarak her sunucu için farklı anahtar tanımlanabilir ve bağlantı yönetimi ciddi şekilde kolaylaşır.

SSH key ile Linux sunucuya bağlanabiliyorum ama rsync komutu çalışmıyor?

SSH bağlantısı başarılı olsa bile rsync, arka planda farklı SSH parametreleriyle çalışıyor olabilir. Kullanılan anahtar dosyası, bağlanılan kullanıcı ve hedef dizin izinleri bu tür sorunların en yaygın nedenleridir. Özellikle -e ssh parametresi doğru şekilde tanımlanmalıdır. İki sunucu arasında rsync ile dosya transferinin doğru kullanımına dair kapsamlı anlatım ilgili rehberde yer almaktadır.

Yorum yapın