🚀 Linux ve Windows sunucularda yeni müşterilere özel %20 indirim! Kod: ILK20  |  Hemen sipariş ver →
shield Sunucu Güvenliği & Sıkılaştırma

SSH Girişine Google Authenticator (2FA) Nasıl Eklenir? Adım Adım Rehber

Bu rehberde SSH bağlantılarınıza Google Authenticator 2FA ekleyerek güvenliği artırın. Kurulum, yapılandırma ve test adımlarını anlatıyoruz.

person
Editör
(Güncellendi: 28 Tem 2026) schedule 4 dk okuma visibility 34 görüntülenme

SSH, sunucu yönetiminin olmazsa olmazıdır ancak zayıf parolalar veya çalıntı anahtarlar yüzünden hedef haline gelebilir. İşte tam bu noktada iki faktörlü kimlik doğrulama (2FA) devreye girer. Google Authenticator ile SSH girişlerinize ekstra bir güvenlik katmanı eklemek hem kolay hem de etkilidir. Bu yazıda adım adım kurulumu anlatacağım.

Ön Hazırlık ve Gereksinimler

Başlamadan önce sunucunuzda root veya sudo yetkisine sahip bir kullanıcı olduğunuzdan emin olun. Ayrıca akıllı telefonunuza Google Authenticator uygulamasını yükleyin (iOS veya Android fark etmez). Bu rehber Ubuntu 22.04 üzerinde test edilmiştir; diğer dağıtımlarda paket adları değişebilir.

Adım 1: Gerekli Paketlerin Kurulumu

Sunucunuza SSH ile bağlanın ve aşağıdaki komutu çalıştırın:

sudo apt update && sudo apt install libpam-google-authenticator qrencode -y

qrencode opsiyoneldir ancak QR kod oluşturmak için işleri kolaylaştırır. Kurulum tamamlandığında PAM modülü hazır demektir.

Adım 2: Kullanıcı İçin Google Authenticator Yapılandırması

Her kullanıcı kendi 2FA anahtarını oluşturmalıdır. SSH ile bağlı olduğunuz kullanıcı hesabında şu komutu çalıştırın:

google-authenticator

Karşınıza bir dizi soru çıkacak. İlki: "Do you want authentication tokens to be time-based?" - Evet (y) deyin. Ardından ekranda kocaman bir QR kod ve acil durum kodları göreceksiniz. Telefonunuzdaki Google Authenticator uygulamasını açıp QR kodu taratın. Sonraki sorular:

  • "Do you want to update the file...?" - Evet
  • "Do you want to disallow multiple uses of the same token?" - Evet (güvenlik için önerilir)
  • "Do you want to increase the window size...?" - Hayır (varsayılan 3 kabul edilebilir)
  • "Do you want to enable rate limiting?" - Evet (brute force saldırılarını yavaşlatır)

Bu adımları tamamlayınca kullanıcı bazında yapılandırma biter.

Adım 3: SSH Yapılandırmasını Değiştirme

Şimdi SSH sunucusuna 2FA'yı kullanmasını söyleyeceğiz. Öncelikle PAM yapılandırmasını düzenleyelim:

sudo nano /etc/pam.d/sshd

Dosyanın en üstüne şu satırı ekleyin:

auth required pam_google_authenticator.so

Ardından SSH yapılandırma dosyasını açın:

sudo nano /etc/ssh/sshd_config

Burada iki önemli ayar var. Önce ChallengeResponseAuthentication değerini yes yapın:

ChallengeResponseAuthentication yes

Sonra AuthenticationMethods satırını bulun (yoksa ekleyin) ve şu şekilde ayarlayın:

AuthenticationMethods publickey,keyboard-interactive

Bu, önce SSH anahtarı (publickey) sonra da Google Authenticator (keyboard-interactive) ile doğrulama yapılmasını sağlar. Eğer sadece parola+2FA istiyorsanız password,keyboard-interactive yapabilirsiniz, ancak anahtar yöntemi daha güvenlidir.

Adım 4: SSH Servisini Yeniden Başlatma

Değişiklikleri uygulamak için SSH servisini yeniden başlatın:

sudo systemctl restart sshd

Dikkat! Eski SSH oturumunuzu kapatmayın. Yeni bir terminal açıp bağlantıyı test edin. Eğer bir sorun olursa eski oturumdan müdahale edebilirsiniz.

Adım 5: Bağlantıyı Test Etme

Yeni bir SSH bağlantısı deneyin. Örneğin:

ssh kullanici@sunucu-ip

İlk olarak SSH anahtarınız sorulacak (ya da parola). Ardından şöyle bir çıktı göreceksiniz:

Verification code: // altı haneli kodu girin

Telefonunuzdaki Google Authenticator uygulamasından kodu alıp yazın. Doğru girerseniz oturum açılır. Yanlış kodda bağlantı reddedilir.

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

Bağlantı sırasında "Permission denied" hatası

Genellikle PAM yapılandırması veya SSH ayarları hatalıdır. /var/log/auth.log dosyasını kontrol edin. Ayrıca sshd_config içindeki AuthenticationMethods satırını doğru yazdığınızdan emin olun.

Google Authenticator kodu çalışmıyor

Sunucu saati ile telefon saati arasında fark olabilir. NTP servisini kontrol edin: timedatectl. Ayrıca telefonun saatini otomatik ayara getirin.

Acil durum kodları nerede?

google-authenticator komutu sırasında oluşturulan acil durum kodları genellikle ~/.google_authenticator dosyasının içindedir. Bu kodları güvenli bir yere not edin.

Sonuç

Artık SSH girişiniz iki faktörlü doğrulama ile korunuyor. Bu yöntem, sızdırılmış bir parola veya anahtarın tek başına yeterli olmamasını sağlar. Unutmayın, güvenlik katmanları ne kadar çok olursa saldırganın işi o kadar zorlaşır. Düzenli olarak güncelleme yapmayı ve logları izlemeyi ihmal etmeyin.

Bu Makaleyi Paylaş

İlgili Yazılar