Bulut Sunucuları için SSH Anahtarları ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
13.12.2024

Bulut Sunucuları için SSH Anahtarları

SSH (Secure Shell) anahtarları, bulut sunucularını güvenli bir şekilde yönetmenin önemli bir parçasıdır. Geleneksel parola tabanlı oturum açma işlemlerine kıyasla kullanıcıların kimliklerini doğrulamak için daha güvenli ve kullanışlı bir yöntem sunarlar. SSH anahtarlarını kullanarak bulut sunucularınıza güvenli, şifreli bağlantılar kurabilir ve yalnızca yetkili kullanıcıların erişim sağlayabilmesini sağlayabilirsiniz. Bu makalede, SSH anahtarlarının ne olduğunu, nasıl çalıştıklarını ve bulut sunucunuzda nasıl kurulacaklarını inceleyeceğiz.

1. SSH Anahtarları Nedir?

SSH anahtarları, istemcilerin bir SSH sunucusuna kimlik doğrulaması için kullanılan kriptografik anahtarlardır. Kaba kuvvet saldırılarına karşı savunmasız olabilen bir kullanıcı adı ve parola kombinasyonu kullanmak yerine, SSH anahtarları uzak sunucularda oturum açmak için daha güvenli ve otomatik bir yol sağlar. SSH anahtar çiftleri iki bölümden oluşur:

  • Özel Anahtar: Bu anahtar yerel makinenizde güvenli bir şekilde saklanır ve asla paylaşılmamalıdır.
  • Açık Anahtar: Bu anahtar uzak sunucuya yerleştirilir. Sunucu, kullanıcıların kimliklerini özel anahtarlarına göre doğrulamak için ortak anahtarı kullanır.

Bir bulut sunucusuna bağlanırken, SSH protokolü sunucudaki genel anahtarın makinenizde depolanan özel anahtarla eşleşip eşleşmediğini kontrol eder. Eşleşme doğrulanırsa, parolaya gerek kalmadan bağlantı kurulur.

2. Bulut Sunucular için Neden SSH Anahtarları Kullanılmalı?

SSH anahtarları, geleneksel parola tabanlı kimlik doğrulamaya göre çeşitli avantajlar sağlar:

  • Geliştirilmiş Güvenlik: SSH anahtarları, kimlik doğrulama için kriptografik algoritmalar kullandıklarından kırılmaları şifrelere göre çok daha zordur. Ayrıca SSH anahtarları, parolalar gibi kaba kuvvet veya kimlik avı saldırılarına karşı savunmasız değildir.
  • Kolaylık: SSH anahtarları bir kez kurulduktan sonra şifresiz kimlik doğrulamaya olanak tanıyarak her seferinde kimlik bilgilerini girmeden oturum açmayı kolaylaştırır.
  • Otomasyon: Birçok otomatik süreç ve komut dosyası SSH anahtarı tabanlı kimlik doğrulamasına dayanır, bu da bulut sunucularını ve dağıtımlarını yönetmeyi daha verimli hale getirir.
  • Erişim Kontrolü: SSH anahtarları yalnızca yetkili kullanıcılara dağıtılabilir, böylece bulut sunucularınıza kimlerin erişebileceğini kontrol edebilirsiniz.

3. SSH Anahtar Kimlik Doğrulaması Nasıl Çalışır?

İşte SSH anahtar kimlik doğrulamasının nasıl çalıştığının basitleştirilmiş bir versiyonu:

  1. İstemci (yerel makineniz) sunucuya bağlanmak için bir istek gönderir.
  2. Sunucu, istemcinin açık anahtarının ~/.ssh/authorized_keys dosyasında saklanan anahtarlardan herhangi biriyle eşleşip eşleşmediğini kontrol eder.
  3. Bir eşleşme bulunursa, sunucu istemciye bir meydan okuma (genellikle şifrelenmiş veri) gönderir.
  4. İstemci, meydan okumanın şifresini çözmek ve sunucuya bir yanıt göndermek için özel anahtarını kullanır.
  5. Sunucu yanıtı doğrular ve doğruysa istemciye parola olmadan erişim izni verir.

4. SSH Anahtarları Nasıl Oluşturulur

SSH anahtar kimlik doğrulamasını kullanmak için öncelikle bir anahtar çifti oluşturmanız gerekir. İşte nasıl yapılacağı:

Linux veya macOS üzerinde:

  1. Terminalinizi açın.
  2. Yeni bir SSH anahtar çifti oluşturmak için aşağıdaki komutu çalıştırın:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

İşte her bir seçeneğin ne anlama geldiği:

  • -t rsa: RSA algoritmasını belirtir.
  • -b 4096: Daha fazla güvenlik için 4096 bitlik bir anahtar oluşturur.
  • -C “your_email@example.com”: Anahtarı tanımlamaya yardımcı olacak bir yorum ekler.
  1. Anahtarı kaydetmek için bir konum seçmeniz istenecektir. Varsayılan olarak ~/.ssh/ dizininde saklanır. Varsayılan konumu kabul etmek için Enter tuşuna basın.
  2. Ek güvenlik için bir parola da ayarlayabilirsiniz, ancak bu isteğe bağlıdır. Parola kullanmak istemiyorsanız, boş bırakmak için Enter tuşuna basın.

Windows’ta:

Windows kullanıyorsanız, PuTTYgen gibi bir SSH istemcisi veya Windows 10 ve sonraki sürümlerdeki yerleşik OpenSSH özelliğini kullanabilirsiniz:

  1. PowerShell veya Komut İstemi’ni açın.
  2. Anahtar çiftini oluşturmak için yukarıdaki komutun aynısını çalıştırın:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Komutu çalıştırdıktan sonra, işlem Linux veya macOS ile aynıdır.

5. SSH Anahtarınızı Bulut Sunucusuna Ekleme

SSH anahtar çiftini oluşturduktan sonra, anahtar tabanlı kimlik doğrulamayı etkinleştirmek için ortak anahtarı bulut sunucunuza kopyalamanız gerekir.

Yöntem 1: ssh-copy-id kullanma

Linux veya macOS’ta, açık anahtarı sunucunuza aktarmak için ssh-copy-id komutunu kullanabilirsiniz:

ssh-copy-id user@your-server-ip

Bu komut sizden sunucu için parolanızı girmenizi isteyecektir. Parola girildikten sonra, açık anahtarı sunucudaki ~/.ssh/authorized_keys dosyasına kopyalar.

Yöntem 2: Manuel Yöntem

Windows kullanıyorsanız veya manuel adımları tercih ediyorsanız, ortak anahtarı manuel olarak kopyalayabilirsiniz:

  1. Bir metin düzenleyici kullanarak açık anahtar dosyasını açın:
cat ~/.ssh/id_rsa.pub
  1. Dosyanın tüm içeriğini kopyalayın.
  2. Parola tabanlı bir SSH oturumu kullanarak sunucunuza bağlanın:
ssh kullanıcı@sunucu-ip adresiniz
  1. Sunucuda, eğer mevcut değilse ~/.ssh dizinini oluşturun:
mkdir -p ~/.ssh
  1. Authorized_keys dosyasını açın:
nano ~/.ssh/authorized_keys
  1. Kopyalanan ortak anahtarı dosyaya yapıştırın ve kaydedin.
  2. Doğru izinleri ayarlayın:
chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh

Bu, yalnızca kullanıcının anahtara ve dizine okuma ve yazma erişimine sahip olmasını sağlar.

6. Parola Kimlik Doğrulamasını Devre Dışı Bırak (İsteğe Bağlı ama Önerilen)

SSH anahtarları kurulduktan ve çalıştıktan sonra, yetkisiz erişimi önlemek için sunucuda parola kimlik doğrulamasını devre dışı bırakmanız şiddetle tavsiye edilir. İşte nasıl yapılacağı:

  1. Bulut sunucunuzdaki SSH yapılandırma dosyasını açın:
sudo nano /etc/ssh/sshd_config
  1. Aşağıdaki satırı bulun ve hayır olarak değiştirin:
PasswordAuthentication hayır
  1. Dosyayı kaydedin ve SSH hizmetini yeniden başlatın:
sudo systemctl restart sshd

Artık yalnızca geçerli bir SSH anahtarına sahip kullanıcılar oturum açabilecektir.

7. SSH Anahtarlarını Yönetme

  • Birden Fazla Anahtar Ekleme: Birden fazla kullanıcının sunucuya erişmesi gerekiyorsa, genel anahtarlarını authorized_keys dosyasına ekleyebilirsiniz.
  • Anahtarları Kaldırma: Belirli bir kullanıcı için erişimi iptal etmek istiyorsanız, bu kullanıcının açık anahtarını authorized_keys dosyasından kaldırmanız yeterlidir.

8. Sonuç

Bulut sunucu erişimi için SSH anahtarlarını kullanmak, sunucunuzun güvenliğini sağlamanın ve parola tabanlı kimlik doğrulama ile ilişkili güvenlik açıklarından kaçınmanın en iyi yollarından biridir. Bu makalede özetlenen adımları izleyerek SSH anahtarları oluşturabilir, bunları bulut sunucunuza ekleyebilir ve hatta gelişmiş güvenlik için parola girişlerini devre dışı bırakabilirsiniz.

SSH anahtarlarını kurmak başlangıçta biraz daha fazla çaba gerektirebilir, ancak sağladıkları uzun vadeli güvenlik ve kolaylık bu çabaya değer.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills