VPS Sunucuda SSH Anahtarı ile Güvenli Giriş Nasıl Yapılandırılır

VPS sunucuda SSH anahtarı oluşturma, sunucuya ekleme ve parola girişini kapatma adımlarını öğrenin, brute-force saldırılarına karşı güvenliği artırın.

Yazı boyutu
VPS Sunucuda SSH Anahtarı ile Güvenli Giriş Nasıl Yapılandırılır

Fotoğraf: Brett Sayles / Pexels

VPS kiraladıktan sonra sunucuya bağlanmanın en yaygın yolu kullanıcı adı ve parola girmektir. Bu yöntem çalışır, ancak internete açık her sunucu gibi VPS'iniz de sürekli olarak otomatik giriş denemelerinin hedefi olur. SSH anahtarına geçmek, bu riski büyük ölçüde azaltan ve aynı zamanda günlük kullanımı kolaylaştıran bir adımdır. Bu rehberde, temel komut satırı bilgisine sahip ama SSH güvenliği konusunda deneyimi olmayan kullanıcılar için süreci adım adım ele alıyoruz.

Bir bakışta

  • SSH anahtarı, parola tabanlı girişe göre brute-force saldırılarına karşı çok daha güvenli bir yöntemdir.
  • Anahtar ile giriş test edilip doğrulanmadan mevcut oturum kapatılmamalı ve parola girişi kapatılmamalıdır.
  • Root ile doğrudan girişi kapatıp sudo kullanmak, sunucu güvenliğini ek olarak artıran önemli bir adımdır.

SSH Anahtarı Nedir, Parola ile Girişten Farkı Ne?

Parola tabanlı girişte sunucuya "ben buyum" demenin tek yolu doğru kelimeyi yazmaktır. Sorun şu ki, internete açık bir VPS'in SSH portu sürekli tarama ve otomatik deneme (brute-force) saldırılarına maruz kalır. Zayıf ya da tahmin edilebilir bir parola kullanıldığında bu saldırılar zamanla başarılı olabilir.

SSH anahtarı yöntemi ise farklı bir mantıkla çalışır: birbirine matematiksel olarak bağlı iki dosya oluşturulur — genel anahtar (public key) ve özel anahtar (private key). Genel anahtar sunucuya yerleştirilir, özel anahtar ise yalnızca sizin bilgisayarınızda kalır. Bağlantı kurulduğunda sunucu ve istemci, özel anahtarın karşı tarafa hiç gönderilmeden kriptografik bir doğrulama yapar. Yani parolanın ağ üzerinden hiçbir şekilde iletilmesi gerekmez.

Bu yöntemin daha güvenli sayılmasının temel nedeni, özel anahtarın çok uzun ve rastgele üretilmiş olması, dolayısıyla tahmin edilmesinin pratik olarak imkansıza yakın olmasıdır. Genel kullanıcı açısından pratik kazanım ise şudur: parola hatırlama veya periyodik değiştirme derdi ortadan kalkar, buna karşılık sunucu otomatik saldırılara karşı çok daha dayanıklı hale gelir.

Başlamadan Önce Gerekenler

Yapılandırmaya geçmeden önce birkaç şeyin hazır olması gerekir:

  • VPS'e mevcut kullanıcı adı ve parolanızla erişebiliyor olmanız
  • Yerel bilgisayarınızda bir terminal (Linux/macOS) veya SSH istemcisi (Windows'ta yerleşik terminal ya da benzeri bir araç) bulunması
  • Root ya da sudo yetkisine sahip bir kullanıcı hesabı

Burada önemli bir uyarı var: yapılandırma sırasında mevcut SSH oturumunuzu kapatmayın. Anahtar ile giriş test edilip doğrulanana kadar eski oturumu açık tutmak, bir hata durumunda sunucudan tamamen dışlanmanızı önler.

Yerel Bilgisayarda SSH Anahtar Çifti Oluşturma

Anahtar çifti oluşturmak için ssh-keygen komutu kullanılır. Mantığı basittir: komut çalıştırıldığında sizden bir dosya konumu ve isteğe bağlı bir passphrase (anahtar parolası) istenir, ardından genel ve özel anahtar dosyaları üretilir.

Varsayılan olarak bu dosyalar, kullanıcı dizininizdeki .ssh klasörü altında saklanır. Genellikle özel anahtar uzantısız bir dosya adıyla, genel anahtar ise aynı adın sonuna .pub eklenmiş haliyle oluşturulur. Özel anahtar dosyası kesinlikle kimseyle paylaşılmamalı; genel anahtar dosyası ise sunucuya aktarılacak olan, paylaşılması sakıncalı olmayan dosyadır.

Passphrase eklemek isteğe bağlıdır ama önerilir. Passphrase, özel anahtar dosyanız çalınsa veya başka bir cihaza kopyalansa bile, o dosyanın kullanılabilmesi için ek bir parola gerektirir. Böylece tek bir dosyanın ele geçirilmesi tek başına yeterli olmaz.

Genel Anahtarı VPS'e Aktarma

Anahtar çifti oluşturulduktan sonra, genel anahtarın VPS üzerindeki ilgili kullanıcının ~/.ssh/authorized_keys dosyasına eklenmesi gerekir. Mantık şudur: sunucu, gelen bağlantı isteğini bu dosyadaki genel anahtarlarla eşleştirmeye çalışır; eşleşme ve kriptografik doğrulama başarılı olursa parola istemeden giriş izni verir.

Bu aktarımı bazı SSH istemcileri otomatik yapan araçlarla gerçekleştirebilirsiniz; isterseniz genel anahtar dosyasının içeriğini manuel olarak kopyalayıp sunucudaki dosyaya yapıştırabilirsiniz. Hangi yöntemi seçerseniz seçin, şu iki nokta kritik önem taşır:

  • .ssh dizininin izinleri sadece kullanıcının kendisi tarafından erişilebilir olmalı (genelde 700 olarak ayarlanır)
  • authorized_keys dosyasının izinleri de dar tutulmalı (genelde 600)

İzinler gereğinden geniş bırakılırsa, SSH servisi güvenlik gerekçesiyle anahtar tabanlı girişi reddedebilir. Bu yüzden aktarım sonrası izinleri kontrol etmek önemlidir.

Anahtar ile Girişi Test Etme

Genel anahtar sunucuya eklendikten sonra, mevcut oturumu kapatmadan yeni bir terminal penceresi açıp anahtarla bağlanmayı deneyin. Eğer passphrase belirlediyseniz, bağlantı sırasında bu passphrase'i girmeniz istenecektir; parola istenmeden veya sadece passphrase ile giriş yapabiliyorsanız yapılandırma doğru çalışıyor demektir.

Bağlantı başarısız olursa panik yapmadan şu noktaları kontrol edin:

  • Genel anahtarın doğru kullanıcının authorized_keys dosyasına eklenip eklenmediği
  • .ssh dizini ve authorized_keys dosyasının izinlerinin doğru olup olmadığı
  • Bağlanırken doğru özel anahtar dosyasının işaret edilip edilmediği

Eski oturumunuz hâlâ açık olduğu için bu aşamada sorun yaşasanız bile sunucudan dışlanmış olmazsınız; hatayı düzeltip tekrar deneyebilirsiniz.

Parola ile Girişi Devre Dışı Bırakma

Anahtar ile giriş güvenilir şekilde çalıştığını doğruladıktan sonra, parola tabanlı girişi kapatabilirsiniz. Bu ayar sunucudaki SSH servis yapılandırma dosyasında (sshd_config) yer alan PasswordAuthentication satırı ile kontrol edilir. Bu değeri devre dışı bırakacak şekilde ayarlamak, artık yalnızca anahtar sahiplerinin giriş yapabilmesi anlamına gelir.

Değişiklik yapıldıktan sonra SSH servisinin yeniden başlatılması gerekir; aksi halde yapılandırma dosyasındaki değişiklik etkin hale gelmez. Yeniden başlatma sonrası, yine mevcut oturumu kapatmadan yeni bir bağlantı denemesi yaparak parola isteğinin artık gelmediğini doğrulayın.

Bu sırayı takip etmek —önce test, sonra devre dışı bırakma— kritik önemdedir. Sırayı ters çevirip parolayı önce kapatırsanız ve anahtar düzgün çalışmıyorsa, sunucuya erişiminizi tamamen kaybedebilirsiniz.

Root Girişini Kapatma ve Sudo Kullanımı

SSH anahtarına geçiş yaptıktan sonra tamamlayıcı bir adım da doğrudan root kullanıcısıyla girişi kapatmaktır. Root, sunucu üzerinde sınırsız yetkiye sahip olduğu için saldırganların en çok hedeflediği hesaptır; bu hesabın doğrudan SSH ile erişilebilir olması ek bir risk oluşturur.

sshd_config dosyasındaki PermitRootLogin ayarı devre dışı bırakılarak root ile doğrudan giriş engellenebilir. Bunun yerine normal bir kullanıcı hesabıyla giriş yapıp, gerektiğinde sudo komutuyla yönetimsel işlemleri gerçekleştirmek önerilir. Bu yaklaşım, hem hangi işlemlerin yetki gerektirdiğini kayıt altına almaya yardımcı olur hem de tek bir hesabın ele geçirilmesi durumunda doğrudan tam yetkiye ulaşılmasını zorlaştırır.

Özel Anahtarın Güvenli Saklanması

Özel anahtar dosyanız, sunucunuzun kapısının anahtarı gibidir; bu nedenle asla e-posta, mesajlaşma uygulaması veya paylaşımlı depolama alanları üzerinden gönderilmemelidir. Yalnızca kendi cihazınızda, mümkünse şifrelenmiş bir diskte tutulmalıdır.

Daha önce belirtildiği gibi passphrase kullanımı, özel anahtar dosyasının bir şekilde kaybolması veya çalınması durumunda ek bir koruma katmanı sağlar. Yedekleme yaparken de aynı hassasiyeti göstermek gerekir: dosyayı bulut depolama gibi üçüncü taraf servislere şifrelemeden yüklemekten kaçının.

Anahtar Kaybı Durumunda Kurtarma Yolları

Özel anahtarınızı kaybederseniz ve parola girişi de kapalıysa, sunucuya normal SSH yoluyla giriş yapamazsınız. Bu noktada VPS sağlayıcınızın sunduğu konsol erişimi veya rescue mode gibi alternatif erişim yöntemleri devreye girer. Bu araçlar genellikle sağlayıcının yönetim panelinden, SSH'a ihtiyaç duymadan sunucunuzun işletim sistemine doğrudan erişim sağlar; buradan yeni bir anahtar ekleyebilir veya parola girişini geçici olarak yeniden etkinleştirebilirsiniz.

Bu yüzden yapılandırma tamamlandıktan sonra, sağlayıcınızın panelinde bu tür bir kurtarma seçeneğinin bulunup bulunmadığını önceden kontrol etmenizde fayda var. Ayrıca mümkünse birden fazla cihazda yedek bir anahtar bulundurmak da tek bir cihazın arızalanması durumunda işinizi kolaylaştırır.

Sonuç: Güvenli Bir VPS Yönetimi İçin Özet Adımlar

SSH anahtarına geçiş, VPS'inizi otomatik saldırılara karşı önemli ölçüde güçlendiren, uygulaması da nispeten basit bir adımdır. Özetle: yerel bilgisayarda bir anahtar çifti oluşturun, genel anahtarı sunucuya doğru izinlerle aktarın, anahtarla girişi mutlaka mevcut oturumu kapatmadan test edin ve ancak bundan sonra parola girişini devre dışı bırakın.

Root girişini kapatıp sudo yetkili bir kullanıcı üzerinden yönetim yapmak, özel anahtarı güvenli saklamak ve sağlayıcınızın kurtarma seçeneklerini önceden tanımak, bu sürece bütünsel bir güvenlik yaklaşımı katar. Tek tek küçük adımlar gibi görünse de bir araya geldiklerinde VPS'inizin güvenlik seviyesini belirgin şekilde yükseltirler.

Vps Hattı Editör Ekibi

Sanal sunucuda güç bul

Tüm yazıları

Sen ne düşünüyorsun?

Yorumlar onaylandıktan sonra yayınlanır. E-posta adresin yayınlanmaz.

Okumaya devam et

Tüm yazılar
Bülten

Haftanın fikirleri, gelen kutunda.

Teknoloji ve daha fazlası için hazırladığımız haftalık özeti kaçırma.