Takip et

SSH Anahtarları ile PuTTY Kullanarak VPS’e Güvenli Bağlantı Kurma Rehberi

SSH Anahtarları ile PuTTY Kullanarak VPS’e Güvenli Bağlantı Kurma Rehberi Giriş: SSH Anahtarlarının Önemi ve Neden Kullanmalıyız? Günümü

SSH Anahtarları ile PuTTY Kullanarak VPS’e Güvenli Bağlantı Kurma Rehberi

Giriş: SSH Anahtarlarının Önemi ve Neden Kullanmalıyız?

Günümüzde, sunucu yönetimi ve uzaktan erişim, dijital altyapının temel taşlarından biridir. Sanal Özel Sunucular (VPS), web sitelerinden uygulama barındırmaya kadar geniş bir yelpazede hizmet sunar ve bu sunuculara güvenli bir şekilde erişmek hayati önem taşır. Geleneksel olarak, birçok kullanıcı VPS’lerine parola tabanlı kimlik doğrulama ile bağlanır. Ancak, parolalar, tahmin edilebilir olmaları, kaba kuvvet saldırılarına (brute-force attacks) karşı savunmasız kalmaları ve insan hatasına açık olmaları nedeniyle ciddi güvenlik açıkları barındırabilir. İşte bu noktada SSH (Secure Shell) anahtarları devreye girer.

SSH anahtarları, parola tabanlı kimlik doğrulamanın çok daha güvenli ve pratik bir alternatifidir. Temel olarak, bir çift anahtardan oluşurlar: bir özel anahtar (private key) ve bir genel anahtar (public key). Özel anahtar, kullanıcının yerel bilgisayarında saklanır ve asla kimseyle paylaşılmamalıdır. Genel anahtar ise sunucuya yüklenir. Bağlantı kurulduğunda, sunucu genel anahtarı kullanarak kullanıcının özel anahtarını doğrular. Bu süreç, kriptografik algoritmalarla şifrelenir ve çok daha güçlü bir güvenlik katmanı sağlar.

SSH anahtarlarını kullanmanın başlıca avantajları şunlardır:
* Üstün Güvenlik: Anahtarlar, rastgele oluşturulmuş, yüksek entropili dizelerdir ve tahmin edilmeleri veya kaba kuvvet saldırılarıyla kırılmaları neredeyse imkansızdır. Parolaların aksine, çok daha uzun ve karmaşık bir yapıya sahiptirler.
* Kimlik Doğrulama Kolaylığı: Doğru bir şekilde yapılandırıldığında, SSH anahtarları ile sunucuya bağlanırken her seferinde uzun bir parola girmek zorunda kalmazsınız. Bu, özellikle sık sık bağlantı kuran yöneticiler için büyük bir zaman tasarrufu sağlar.
* Otomatik Bağlantı: Anahtar aracı (key agent) yazılımları sayesinde, özel anahtarınızı bir kez yükledikten sonra, oturumunuz boyunca birden fazla sunucuya parola girmeden bağlanabilirsiniz.
* Parola Sızıntısı Riskinin Azalması: Sunucunuzdan veya ağınızdan parolalarınızın çalınması riskini ortadan kaldırır, çünkü kimlik doğrulama parolalar yerine anahtarlar üzerinden yapılır.
* Ek Güvenlik Katmanları: Parola tabanlı kimlik doğrulamasını tamamen devre dışı bırakarak sunucunuzun saldırı yüzeyini önemli ölçüde daraltabilirsiniz.

Bu makalede, Windows işletim sistemi üzerinde PuTTY ve ilgili araçları kullanarak SSH anahtar çifti oluşturma, genel anahtarı VPS’inize yükleme ve bu anahtarları kullanarak güvenli bir şekilde VPS’inize bağlanma adımlarını ayrıntılı bir şekilde ele alacağız. Amacımız, hem yeni başlayanların hem de deneyimli kullanıcıların SSH anahtarlarının sunduğu güvenlik ve kolaylıktan tam olarak yararlanabilmelerini sağlamaktır.

Ön Koşullar ve Gerekli Yazılımlar

VPS’inize SSH anahtarları ile bağlanabilmek için birkaç temel gereksinime ve yazılıma ihtiyacınız olacak. Bu bölümde, bu ön koşulları ve gerekli araçları detaylandıracağız.

1. Bir VPS’e Erişim

Öncelikle, SSH anahtarlarınızı yükleyeceğiniz ve bağlanacağınız bir Sanal Özel Sunucuya (VPS) sahip olmanız gerekmektedir. Bu VPS’e root kullanıcısı olarak veya sudo yetkilerine sahip bir kullanıcı olarak parola ile erişebiliyor olmanız önemlidir. İlk kurulum için bu erişim gereklidir.

2. PuTTYgen (PuTTY Key Generator)

PuTTYgen, SSH anahtar çiftlerini (özel ve genel anahtar) oluşturmak için kullanılan bir araçtır. PuTTY paketinin bir parçası olarak gelir ve Windows üzerinde grafik arayüzü sayesinde kolayca anahtar oluşturmanızı sağlar.

3. PuTTY (SSH Client)

PuTTY, Windows için popüler bir SSH, Telnet ve Rlogin istemcisidir. VPS’inize SSH protokolü üzerinden bağlanmak için bu aracı kullanacağız. PuTTYgen ile oluşturduğunuz özel anahtarı PuTTY’ye tanıtarak güvenli bağlantı kurabileceksiniz.

4. Pageant (PuTTY Authentication Agent)

Pageant, PuTTY anahtar aracıdır. Özel anahtarlarınızı güvenli bir şekilde bellekte tutar ve her bağlantı kurduğunuzda anahtar parolasını (passphrase) tekrar girmenizi engeller. Özellikle birden fazla sunucuya bağlanıyorsanız veya sık sık bağlantı kuruyorsanız, Pageant büyük bir kolaylık sağlar. İsteğe bağlı olsa da, kullanıcı deneyimini önemli ölçüde iyileştirdiği için kullanılması şiddetle tavsiye edilir.

Bu Yazılımları Nereden İndirebilirsiniz?

PuTTY, PuTTYgen ve Pageant genellikle tek bir kurulum paketi olarak veya ayrı ayrı PuTTY’nin resmi web sitesinden (www.putty.org) indirilebilir. En güncel ve güvenli sürümü indirdiğinizden emin olun. Genellikle, tüm bileşenleri içeren MSI (Windows Installer) paketini indirmek en kolay yoldur.

PuTTYgen ile SSH Anahtar Çifti Oluşturma

SSH anahtarlarını kullanmaya başlamanın ilk adımı, PuTTYgen ile bir anahtar çifti oluşturmaktır. Bu işlem, yerel bilgisayarınızda bir özel anahtar ve bu anahtara karşılık gelen bir genel anahtar üretmeyi içerir.

1. PuTTYgen’i Başlatma

PuTTY’yi kurduktan sonra, Başlat menüsünden veya masaüstü kısayolundan “PuTTYgen” uygulamasını çalıştırın.

2. Anahtar Türü ve Boyutu Seçimi

PuTTYgen penceresinde, anahtar oluşturma seçeneklerini göreceksiniz:
* Type of key to generate: Buradan oluşturulacak anahtarın türünü seçmeniz gerekir. Modern ve güvenli bir seçenek olan ED25519‘u seçmeniz önerilir. ED25519, daha küçük anahtar boyutlarına rağmen RSA’dan daha güçlü güvenlik sunar ve daha hızlıdır. Eğer ED25519 seçeneği yoksa (eski PuTTYgen sürümlerinde olabilir), RSA‘yı seçebilirsiniz.
* Number of bits in a generated key: Eğer RSA’yı seçtiyseniz, anahtar boyutunu belirlemeniz gerekir. Minimum 2048 bit önerilirken, daha güçlü güvenlik için 4096 bit seçilmesi tavsiye edilir. ED25519 için bu ayar genellikle otomatik olarak belirlenir ve değiştirilemez.

3. Anahtar Oluşturma

“Generate” butonuna tıklayın. PuTTYgen, anahtarları oluşturmak için rastgeleliğe ihtiyaç duyar. Bu nedenle, PuTTYgen penceresinin altındaki boş alanda farenizi rastgele hareket ettirmeniz istenecektir. Fare hareketleriniz, anahtarın rastgeleliğini artırmak için kullanılır. Anahtar oluşturma süreci tamamlandığında, genel anahtar (public key) PuTTYgen penceresinde görünecektir.

4. Anahtar Parolası (Passphrase) Belirleme

Bu adım, anahtarlarınızın güvenliği için kritik öneme sahiptir. Özel anahtarınızı korumak için bir parola (passphrase) belirlemeniz şiddetle tavsiye edilir. Bu parola, özel anahtarınızın çalınması durumunda yetkisiz erişimi engeller.
* Key passphrase: Güçlü bir parola girin. Bu, en az 12-16 karakter uzunluğunda, büyük/küçük harf, rakam ve özel karakterler içeren bir cümle olabilir. Parola ne kadar uzun ve karmaşıksa o kadar güvenli olur.
* Confirm passphrase: Parolanızı tekrar girerek onaylayın.
Bu parola, özel anahtarınızı PuTTY veya Pageant’a yüklediğinizde bir kez sorulacaktır.

5. Özel ve Genel Anahtarları Kaydetme

Anahtarlarınızı güvenli bir yere kaydetmeniz gerekmektedir:
* Save private key: “Save private key” butonuna tıklayın. Anahtar parolanızı belirlediyseniz, PuTTYgen sizi bir uyarı ile karşılayabilir (anahtarı parola olmadan kaydetme seçeneği). Güvenlik için her zaman parola ile kaydetmeyi tercih edin. Özel anahtarınızı, kolayca bulabileceğiniz ancak güvenli bir konumda, örneğin C:\Users\KullanıcıAdınız\.ssh\ klasöründe veya belgelerinizde bir klasörde .ppk uzantısıyla kaydedin (örn: benim_vps_anahtarim.ppk). Bu dosya asla kimseyle paylaşılmamalıdır.
* Save public key: PuTTYgen penceresinde “Public key for pasting into OpenSSH authorized_keys file:” başlığının altında gördüğünüz metin sizin genel anahtarınızdır. Bu metni kopyalayın veya “Save public key” butonuna tıklayarak bir dosyaya kaydedin (örn: benim_vps_anahtarim.pub). Genel anahtarı kopyalamak, bir sonraki adımda VPS’inize yapıştırmak için daha pratik olabilir.

Özel anahtarınız (örneğin benim_vps_anahtarim.ppk) artık yerel bilgisayarınızda güvenli bir şekilde saklanmaktadır. Bir sonraki adım, genel anahtarınızı VPS’inize yüklemektir.

Genel Anahtarı VPS’inize Yükleme

Özel anahtarınızı yerel bilgisayarınızda güvenli bir şekilde sakladığınıza göre, şimdi genel anahtarınızı VPS’inize yüklemelisiniz. Bu, sunucunuzun sizin özel anahtarınızla kimlik doğrulaması yapabilmesini sağlayacaktır.

1. VPS’e Parola ile Bağlanma (İlk Kez)

Genel anahtarınızı yüklemek için, VPS’inize ilk olarak parola ile bağlanmanız gerekecektir. PuTTY’yi açın, VPS’inizin IP adresini veya alan adını “Host Name (or IP address)” alanına girin ve “Open” butonuna tıklayın. Kullanıcı adınızı (genellikle root veya sudo yetkisine sahip kullanıcı adınız) ve parolanızı girerek oturum açın.

2. SSH Dizinini Oluşturma (Gerekirse)

VPS’inizde, SSH anahtarlarının saklandığı standart bir dizin bulunur: ~/.ssh/. Bu dizin, kullanıcının ana dizini altında gizli bir klasördür. Eğer daha önce SSH anahtarı kullanmadıysanız, bu dizin olmayabilir. Aşağıdaki komutlarla bu dizini oluşturun ve gerekli izinleri verin:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

* mkdir -p ~/.ssh: Bu komut, .ssh dizinini oluşturur. -p parametresi, eğer üst dizinler de yoksa onları da oluşturmasını sağlar.
* chmod 700 ~/.ssh: Bu komut, .ssh dizininin izinlerini ayarlar. 700 izni, sadece dizinin sahibinin (yani sizin) bu dizine tam erişiminin (okuma, yazma, çalıştırma) olacağı anlamına gelir. Diğer kullanıcıların hiçbir erişimi olmayacaktır. Bu, güvenlik için kritik bir adımdır.

3. authorized_keys Dosyasını Oluşturma/Düzenleme

Genel anahtarınız, VPS’inizdeki ~/.ssh/authorized_keys adlı bir dosyaya kaydedilmelidir. Bu dosya, sunucuya SSH anahtarlarıyla erişmesine izin verilen tüm genel anahtarları içerir.

* Dosyayı Düzenleme:
Tercih ettiğiniz bir metin düzenleyiciyi (nano, vi vb.) kullanarak authorized_keys dosyasını açın veya oluşturun:

nano ~/.ssh/authorized_keys

* Genel Anahtarı Yapıştırma:
PuTTYgen’den kopyaladığınız genel anahtarı bu dosyaya yapıştırın. Genel anahtar tek bir uzun satır olmalıdır ve ssh-ed25519 AAAA... veya ssh-rsa AAAA... ile başlayıp == ile bitmelidir. Eğer dosyada zaten başka anahtarlar varsa, yeni anahtarı yeni bir satıra ekleyin. Her anahtar ayrı bir satırda olmalıdır.
Yapıştırdıktan sonra dosyayı kaydedin (Nano’da Ctrl+O, Enter, Ctrl+X).

* Dosya İzinlerini Ayarlama:
authorized_keys dosyasının da doğru izinlere sahip olması gerekir. Bu, yine güvenlik açısından hayati bir adımdır.

chmod 600 ~/.ssh/authorized_keys

* chmod 600 ~/.ssh/authorized_keys: Bu komut, authorized_keys dosyasının izinlerini ayarlar. 600 izni, sadece dosyanın sahibinin (yani sizin) dosyayı okuma ve yazma erişimine sahip olacağı anlamına gelir. Diğer kullanıcıların hiçbir erişimi olmayacaktır. Yanlış izinler, SSH bağlantısının reddedilmesine neden olabilir.

4. Parola Tabanlı Kimlik Doğrulamayı Devre Dışı Bırakma (İsteğe Bağlı ama Önerilen)

SSH anahtarlarınızın düzgün çalıştığından emin olduktan sonra, sunucunuzun güvenliğini artırmak için parola tabanlı kimlik doğrulamayı devre dışı bırakmanız şiddetle tavsiye edilir. Bu, sunucunuza yalnızca SSH anahtarlarıyla erişilebileceği anlamına gelir ve kaba kuvvet saldırılarına karşı önemli bir savunma sağlar.

* sshd_config Dosyasını Düzenleme:
SSH sunucu yapılandırma dosyası olan sshd_config‘i düzenleyin:

sudo nano /etc/ssh/sshd_config

* Gerekli Ayarları Yapma:
Aşağıdaki satırları bulun ve değerlerini belirtildiği gibi ayarlayın (başında # işareti varsa kaldırın):

PubkeyAuthentication yes
    PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no
    PermitRootLogin prohibit-password  # veya no

* PubkeyAuthentication yes: Genel anahtar kimlik doğrulamasını etkinleştirir.
* PasswordAuthentication no: Parola tabanlı kimlik doğrulamayı devre dışı bırakır. Bu adımı, anahtar tabanlı bağlantınızın çalıştığından emin olmadan YAPMAYIN!
* ChallengeResponseAuthentication no: Genellikle parola tabanlı kimlik doğrulama ile ilişkili olan meydan okuma-yanıt kimlik doğrulamasını devre dışı bırakır.
* UsePAM no: PAM (Pluggable Authentication Modules) kullanımını devre dışı bırakır. Bazı durumlarda parola tabanlı kimlik doğrulamasını etkileyebilir.
* PermitRootLogin prohibit-password: root kullanıcısının doğrudan parola ile girişini yasaklar. prohibit-password seçeneği, yalnızca anahtar tabanlı kimlik doğrulamasına izin verirken, no seçeneği root kullanıcısının hiçbir şekilde giriş yapmasına izin vermez (güvenlik için daha iyidir, ancak sudo yetkili başka bir kullanıcıya sahip olmanız gerekir).

* SSH Servisini Yeniden Başlatma:
Değişiklikleri kaydettikten sonra, SSH servisini yeniden başlatmanız gerekir:

sudo systemctl restart sshd

veya bazı sistemlerde

sudo service sshd restart

ÖNEMLİ: Parola tabanlı kimlik doğrulamayı devre dışı bırakmadan önce, yeni oluşturduğunuz SSH anahtarınızla VPS’inize sorunsuz bir şekilde bağlanabildiğinizden kesinlikle emin olun. Aksi takdirde, sunucunuza erişiminizi kaybedebilirsiniz.

PuTTY ile SSH Anahtarları Kullanarak VPS’e Bağlanma

Genel anahtarınızı VPS’inize yükledikten ve sunucu tarafındaki ayarları yaptıktan sonra, artık PuTTY kullanarak özel anahtarınızla VPS’inize güvenli bir şekilde bağlanabilirsiniz.

1. PuTTY’i Başlatma

PuTTY uygulamasını açın.

2. Oturum Ayarları

* Session Kategorisi: Sol taraftaki menüden “Session” kategorisini seçin.
* Host Name (or IP address): VPS’inizin IP adresini veya alan adını buraya girin (örn: kullanici_adiniz@your_vps_ip veya sadece your_vps_ip). Eğer kullanıcı adınızı burada belirtirseniz, daha sonra tekrar girmenize gerek kalmaz.
* Port: SSH için varsayılan port 22’dir. Eğer VPS’inizde SSH portunu değiştirdiyseniz, yeni port numarasını buraya girin.
* Connection type: “SSH” olarak seçili olduğundan emin olun.

3. Özel Anahtarı Tanıtma

* SSH -> Auth Kategorisi: Sol menüden “Connection” altında “SSH” ve ardından “Auth” (Authentication) kategorisine gidin.
* Private key file for authentication: “Browse…” butonuna tıklayın ve PuTTYgen ile oluşturduğunuz ve .ppk uzantısıyla kaydettiğiniz özel anahtar dosyanızı (örn: benim_vps_anahtarim.ppk) seçin.

4. Otomatik Oturum Açma Kullanıcı Adı (İsteğe Bağlı)

* Connection -> Data Kategorisi: Sol menüden “Connection” altında “Data” kategorisine gidin.
* Auto-login username: VPS’inize bağlanırken otomatik olarak kullanılacak kullanıcı adını (örn: root veya sizin_kullanici_adiniz) buraya girin. Bu, her bağlantıda kullanıcı adını tekrar girmek zorunda kalmamanızı sağlar.

5. Oturumu Kaydetme

Ayarlarınızı kaydetmek, her seferinde bu adımları tekrar yapmaktan kaçınmanızı sağlar:
* Session Kategorisi: Tekrar “Session” kategorisine dönün.
* Saved Sessions: “Saved Sessions” alanına bu bağlantı için bir isim girin (örn: My_VPS_SSH_Key).
* Save: “Save” butonuna tıklayın. Artık bu oturum ayarlarınız kaydedilmiştir. Gelecekte bağlanmak için sadece kaydedilmiş oturumu seçip “Load” ve ardından “Open” demeniz yeterli olacaktır.

6. Bağlantı Kurma

“Open” butonuna tıklayın. PuTTY bir terminal penceresi açacaktır.
* Eğer özel anahtarınızı oluştururken bir parola (passphrase) belirlediyseniz, PuTTY sizden bu parolayı isteyecektir. Parolanızı girin ve Enter tuşuna basın.
* Eğer her şey doğru yapılandırıldıysa, VPS’inize başarılı bir şekilde bağlanacak ve komut satırını göreceksiniz.

Tebrikler! SSH anahtarlarını kullanarak VPS’inize güvenli bir şekilde bağlandınız.

Pageant ile Anahtar Yönetimi (İsteğe Bağlı ama Önerilen)

Her bağlantıda özel anahtar parolasını (passphrase) girmek, özellikle sık sık sunuculara bağlanıyorsanız veya birden fazla anahtarınız varsa yorucu olabilir. Pageant (PuTTY Authentication Agent), bu sorunu çözmek için tasarlanmış bir araçtır. Pageant, özel anahtarlarınızı şifrelenmiş bir şekilde bellekte tutar ve oturumunuz boyunca bu anahtarları kullanarak PuTTY’nin parola sormadan bağlantı kurmasını sağlar.

1. Pageant’ı Başlatma

Pageant, PuTTY paketinin bir parçasıdır. Başlat menüsünden veya masaüstü kısayolundan “Pageant” uygulamasını çalıştırın. Pageant, çalıştığında genellikle sistem tepsisinde (saatin yanında) küçük bir bilgisayar simgesi olarak görünür. Herhangi bir pencere açılmaz, sadece arka planda çalışır.

2. Anahtarları Pageant’a Yükleme

* Sistem tepsisindeki Pageant simgesine sağ tıklayın ve “Add Key” seçeneğini seçin.
* Bir dosya seçim penceresi açılacaktır. PuTTYgen ile oluşturduğunuz özel anahtar dosyanızı (örn: benim_vps_anahtarim.ppk) seçin ve “Aç” butonuna tıklayın.
* Eğer özel anahtarınız için bir parola (passphrase) belirlediyseniz, Pageant sizden bu parolayı isteyecektir. Parolayı girin ve “OK” butonuna tıklayın.
* Anahtarınız Pageant’a yüklendiğinde, sistem tepsisindeki Pageant simgesine tekrar sağ tıklayıp “View Keys” seçeneğini seçerek yüklü anahtarlarınızı görebilirsiniz.

Artık PuTTY ile bir VPS’e bağlanırken, PuTTY Pageant’a yüklü anahtarlarınızı kontrol edecek ve eğer uygun bir anahtar bulursa, sizden parola istemeden otomatik olarak kimlik doğrulaması yapacaktır. Bu, özellikle birden fazla sunucuya bağlanıyorsanız ve her biri için aynı özel anahtarı kullanıyorsanız büyük bir kolaylık sağlar.

3. Pageant’ı Otomatik Başlatma (İsteğe Bağlı)

Pageant’ı her Windows başlatıldığında otomatik olarak çalıştırmak isterseniz, bir kısayol oluşturabilirsiniz:
* Başlat menüsünden “Pageant” uygulamasını bulun.
* Sağ tıklayın ve “Dosya konumunu aç” (veya “Daha fazla” -> “Dosya konumunu aç”) seçeneğini seçin.
* Pageant.exe’nin kısayolunu kopyalayın.
* Win + R tuşlarına basın, shell:startup yazın ve Enter’a basın. Bu, Windows’un başlangıç klasörünü açacaktır.
* Kopyaladığınız Pageant kısayolunu bu klasöre yapıştırın.

Bu sayede, bilgisayarınızı her başlattığınızda Pageant otomatik olarak çalışacak ve özel anahtarlarınızı (bir kez parola girerek) yükleyerek sürekli olarak hazır tutacaktır.

Sık Karşılaşılan Sorunlar ve Çözümleri

SSH anahtarları ile bağlantı kurarken bazı sorunlarla karşılaşmak olasıdır. İşte en yaygın sorunlar ve olası çözümleri:

1. Server refused our key Hatası

Bu hata, sunucunun gönderdiğiniz özel anahtarı kabul etmediği anlamına gelir.
* Olası Nedenler ve Çözümleri:
* Genel Anahtar Yanlış Yüklendi: ~/.ssh/authorized_keys dosyasına genel anahtarınızı doğru bir şekilde yapıştırdığınızdan emin olun. Her anahtar ayrı bir satırda olmalı ve başında/sonunda boşluk olmamalıdır.
* Dosya/Dizin İzinleri Yanlış: VPS’inizdeki ~/.ssh dizininin izinleri 700 (drwx------) ve ~/.ssh/authorized_keys dosyasının izinleri 600 (-rw-------) olmalıdır. Yanlış izinler sunucunun anahtarı okumasını engeller. SSH bağlantısı ile VPS’inize bağlanıp ls -ld ~/.ssh ve ls -l ~/.ssh/authorized_keys komutlarıyla izinleri kontrol edin ve gerekirse chmod 700 ~/.ssh ve chmod 600 ~/.ssh/authorized_keys komutlarıyla düzeltin.
* Yanlış Özel Anahtar: PuTTY’de doğru .ppk dosyasını seçtiğinizden emin olun. Birden fazla anahtarınız varsa, doğru anahtarı seçtiğinizden emin olun.
* SSH Servisi Yeniden Başlatılmadı: sshd_config dosyasında değişiklik yaptıysanız, SSH servisini yeniden başlattığınızdan emin olun (sudo systemctl restart sshd).
* Anahtar Formatı Sorunu: PuTTYgen ile oluşturulan .ppk uzantılı anahtarlar PuTTY için doğrudur. OpenSSH formatındaki anahtarları kullanıyorsanız, PuTTYgen ile .ppk formatına dönüştürmeniz gerekebilir (PuTTYgen’de “Conversions” menüsü).

2. No supported authentication methods available Hatası

Bu hata, sunucunun size kimlik doğrulaması için sunabileceği hiçbir yöntemin (parola, genel anahtar vb.) bulunmadığı anlamına gelir.
* Olası Nedenler ve Çözümleri:
* sshd_config Ayarları: VPS’inizdeki /etc/ssh/sshd_config dosyasında PasswordAuthentication no ve PubkeyAuthentication no gibi ayarların her ikisinin de no olarak ayarlanmış olması bu hataya yol açabilir. PubkeyAuthentication yes olduğundan emin olun. Parola tabanlı kimlik doğrulamayı devre dışı bıraktıysanız, anahtar tabanlı kimlik doğrulaması çalışmıyor demektir. Bu durumda, sunucuya başka bir yöntemle (örneğin, bulut sağlayıcınızın konsolu üzerinden) erişip sshd_config dosyasını düzeltmeniz gerekebilir.
* SSH Servisi Çalışmıyor: SSH servisi VPS’inizde çalışmıyor olabilir. sudo systemctl status sshd komutu ile kontrol edin ve gerekirse sudo systemctl start sshd ile başlatın.

3. Yanlış Parola (Passphrase)

Özel anahtarınız için belirlediğiniz parolayı yanlış girerseniz bağlantı başarısız olur.
* Çözüm: Parolanızı dikkatlice tekrar girin. Eğer parolanızı unuttuysanız, yeni bir anahtar çifti oluşturmanız ve VPS’e yeniden yüklemeniz gerekecektir.

4. Genel Anahtarın Yanlış Kopyalanması

Genel anahtarınızı authorized_keys dosyasına kopyalarken yanlışlıkla bir boşluk, satır sonu veya eksik karakter eklemek bağlantı sorunlarına yol açabilir.
* Çözüm: authorized_keys dosyasını tekrar açın ve PuTTYgen’den kopyaladığınız orijinal genel anahtar ile karşılaştırın. Tamamen aynı olduğundan emin olun.

5. Bağlantı Zaman Aşımı (Connection Timed Out)

Bu genellikle ağ bağlantısı sorunlarından veya yanlış IP adresi/port numarasından kaynaklanır.
* Olası Nedenler ve Çözümleri:
* Yanlış IP/Port: PuTTY’de doğru IP adresini ve port numarasını girdiğinizden emin olun.
* Güvenlik Duvarı: VPS’inizin güvenlik duvarı (ufw, firewalld veya bulut sağlayıcınızın güvenlik grubu) SSH portuna (varsayılan 22) gelen bağlantıları engelliyor olabilir. Güvenlik duvarı kurallarınızı kontrol edin ve SSH portuna (veya değiştirdiyseniz yeni porta) izin verdiğinizden emin olun.
* Ağ Sorunları: Yerel ağınızda veya VPS sağlayıcınızın ağında geçici bir sorun olabilir.

Bu sorun giderme adımları, SSH anahtarlarıyla bağlantı kurarken karşılaşılan çoğu yaygın sorunu çözmenize yardımcı olacaktır. Unutmayın, en iyi uygulama, herhangi bir güvenlik ayarını değiştirmeden önce her zaman bir yedekleme yapmak ve anahtar tabanlı bağlantınızın çalıştığından emin olmadan parola tabanlı kimlik doğrulamayı devre dışı bırakmamaktır.

Ek Güvenlik İpuçları

SSH anahtarlarını kullanmak, VPS’inizin güvenliğini önemli ölçüde artırır, ancak alabileceğiniz başka önlemler de vardır:

1. SSH Portunu Değiştirme

Varsayılan SSH portu 22’dir ve bu port, otomatik tarama yapan botların ve saldırganların ilk hedefidir. SSH portunu standart olmayan bir porta (örneğin 2222, 22022 vb.) değiştirmek, sunucunuza yönelik otomatik saldırıların sayısını azaltır.
* /etc/ssh/sshd_config dosyasını düzenleyin.
* #Port 22 satırını bulun, başındaki # işaretini kaldırın ve 22 yerine istediğiniz yeni port numarasını yazın (örn: Port 22022).
* SSH servisini yeniden başlatın (sudo systemctl restart sshd).
* Güvenlik duvarınızda yeni porta izin verdiğinizden emin olun.
* PuTTY’de bağlantı ayarlarınızda da yeni portu belirtmeyi unutmayın.

2. Fail2ban Gibi Araçlar Kullanma

Fail2ban, sunucunuzdaki log dosyalarını izleyerek başarısız giriş denemelerini algılayan ve belirli bir sayıda başarısız denemeden sonra IP adreslerini otomatik olarak engelleyen bir güvenlik aracıdır. Bu, kaba kuvvet saldırılarına karşı ek bir koruma katmanı sağlar.

3. root ile Doğrudan Girişi Devre Dışı Bırakma

root kullanıcısı, Linux sistemlerinde en yüksek yetkilere sahip kullanıcıdır ve bu nedenle hedefteki bir numaralı hesaptır. root kullanıcısının doğrudan SSH ile giriş yapmasını engellemek, sunucunuzun güvenliğini artırır. Bunun yerine, sudo yetkilerine sahip standart bir kullanıcı hesabı oluşturun ve bu hesapla giriş yapın. Gerektiğinde sudo komutunu kullanarak yükseltilmiş yetkilerle işlem yapın.
* /etc/ssh/sshd_config dosyasında PermitRootLogin no (veya prohibit-password eğer anahtar ile root girişi istiyorsanız) olarak ayarlayın.

4. Daha Az Yetkili Kullanıcılar Oluşturma

Farklı uygulamalar veya hizmetler için farklı, daha az yetkili kullanıcılar oluşturun. Her zaman root veya sudo kullanıcısıyla işlem yapmak yerine, yalnızca belirli görevler için gerekli minimum yetkilere sahip kullanıcılar kullanın.

5. Düzenli Yedeklemeler

Güvenlik önlemleri ne kadar güçlü olursa olsun, hiçbir sistem %100 güvenli değildir. Düzenli ve otomatik yedeklemeler, olası bir güvenlik ihlali veya sistem arızası durumunda verilerinizi kurtarmanızı sağlar.

6. SSH Anahtar Parolasını (Passphrase) Kullanın

Yukarıda da belirtildiği gibi, özel anahtarınızı bir parola ile korumak, anahtarınızın çalınması durumunda ek bir güvenlik katmanı sağlar.

Bu ek güvenlik ipuçları, SSH anahtarlarınızın sağladığı temel korumayı daha da güçlendirerek VPS’inizin genel güvenliğini artırmanıza yardımcı olacaktır.

Sonuç

Bu makalede, Windows işletim sistemi üzerinde PuTTY, PuTTYgen ve Pageant araçlarını kullanarak SSH anahtarlarını oluşturma, genel anahtarınızı VPS’inize yükleme ve bu anahtarlar aracılığıyla güvenli bir şekilde bağlantı kurma süreçlerini ayrıntılı bir şekilde ele aldık. SSH anahtarlarının parola tabanlı kimlik doğrulamaya kıyasla sunduğu üstün güvenlik ve kullanım kolaylığı, modern sunucu yönetimi için vazgeçilmez bir araç olmalarını sağlamaktadır.

Özel anahtarınızı yerel bilgisayarınızda güvenli bir şekilde saklamak, genel anahtarınızı VPS’inize doğru izinlerle yüklemek ve tercihen özel anahtarınızı bir parola ile korumak, bu güvenlik modelinin temelini oluşturur. Pageant gibi anahtar aracı yazılımları, anahtar parolasını her seferinde girmek zorunda kalmadan birden fazla sunucuya sorunsuz bir şekilde bağlanma kolaylığı sunar.

Ayrıca, karşılaşılabilecek yaygın sorunları ve çözümlerini inceleyerek olası engelleri aşmanıza yardımcı olmayı amaçladık. SSH portunu değiştirme, Fail2ban kullanma, root ile doğrudan girişi devre dışı bırakma gibi ek güvenlik ipuçları da VPS’inizin genel güvenlik duruşunu daha da güçlendirmek için atabileceğiniz adımları gösterdi.

Dijital dünyada güvenlik, sürekli bir çaba ve öğrenme sürecidir. SSH anahtarlarını doğru bir şekilde kullanmak, sunucu güvenliğiniz için atacağınız en önemli adımlardan biridir. Bu rehberin, VPS’lerinize daha güvenli ve verimli bir şekilde bağlanmanıza yardımcı olmasını umuyoruz. Güvenli bağlantılar dileriz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.