Uzak girişler için kimlik doğrulaması için bir şifre üreticisi nasıl kullanabilirim?


55

SSH girişlerimin kimlik doğrulamasını başka bir faktör ekleyerek güçlendirmek istiyorum: bir şifre oluşturma cihazı veya cep telefonumda bir şifre oluşturma uygulaması. Varsayılan ayarlardaki tek belirgin seçenek sabit bir parola ve anahtar çiftidir. Bunu nasıl yapabilirim?

(Bir şifre artı şifre üreticisi kullanırsam, bu iki faktörlü kimlik doğrulama sağlar (2FA): şifre “bildiğim” ve şifre “sahip olduğum”.)

Yanıtlar:


49

Bunu yapmanın bir yolu Google tarafından Google Authenticator adlı bir araç kullanmaktır .

  1. Libpam-google-authenticator'ı yükleyin Libpam-google-authenticator'ı yükleyin

    • ya da sadece sudo apt-get install libpam-google-authenticator
  2. Düzenleme /etc/pam.d/sshdmodülü içerecek şekilde:

    • sudoedit /etc/pam.d/sshd
    • ve sonra bu satırı dosyanın üstüne ekleyin ve kaydedin:

      auth required pam_google_authenticator.so
      
  3. Mücadeleyi açmak için SSH yapılandırma dosyanızı düzenleyin:

    • sudoedit /etc/ssh/sshd_config ve sonra yanıt kimlik doğrulamasını aşağıdakilerden değiştirin:

      ChallengeResponseAuthentication no 
      

      için

      ChallengeResponseAuthentication yes
      

      ve sonra dosyayı kaydedin.

  4. sudo restart ssh SSH'yi yeniden başlatmak için

  5. Çalıştırmak google-authenticator

    • Bu size gizli anahtarınızı, doğrulama kodunu ve acil durum sıfırlama kodlarını verecektir. Ayrıca size bazı sınırlayıcı sorular soracaktır.

Mobil uygulamalar:

Kimlik doğrulama kodunu başka bir cihazda almak için bunlardan birine ihtiyacınız olacak.

İlgili ve Faydalı:

Bir şifreyi tek kullanımlık şifrelerle birleştirmenin iki faktörlü kimlik doğrulama olduğunu unutmayın: “bildiklerinizi” (bir şifre) “sahip olduklarınızla” (şifre üretici cihaz) birleştirir. Öte yandan, tek kullanımlık şifreleri bir SSH anahtar çifti ile birleştirirseniz, hepsi “sahip olduğunuz” ile ilgilidir. İki kimlik doğrulama faktörü aynı türde olduğunda, iki faktörlü kimlik doğrulamanız yoktur; buna bazen “bir buçuk faktörlü kimlik doğrulama” denir.


12

Google Authenticator kişisel sunucularınız için iyidir ancak mevcut kimlik altyapınızla iyi bir şekilde uyuşmadığını görebilirsiniz. Diğer seçenekleri araştırmak istiyorsanız, RADIUS'u bir kimlik doğrulama protokolü ve pam-radius eklentisi olarak kullanmayı düşünün. Tüm kurumsal odaklı iki faktörlü kimlik doğrulama sistemleri yarıçapı destekler. WiKID'nin iki faktörlü kimlik doğrulamasını pam radius üzerinden Ubuntu'ya nasıl ekleyeceğimiz üzerine bir belge yazdık .

Yarıçap kullanmak, SSH dışındaki diğer sistemlerde aynı kimlik doğrulama sunucusuna bağlanmanıza olanak tanır. Ayrıca yetkilendirme isteklerini freeradius yoluyla LDAP'ye ve ardından yetkilendirmeyi kimlik doğrulamasından ayırmak için 2FA sunucunuza yönlendirebilirsiniz. Aynı şeyi AD btw ile de yapabilirsiniz.


1

Ben aşağıdaki satırı koymak için herkesi çağırıyorum altındaki üst ve ait /etc/pam.d/sshddaha önce (şimdi düzeltilmiş) yukarıda açıklandığı gibi:

auth required pam_google_authenticator.so

Aksi taktirde sisteminiz , iki faktörlü kimlik doğrulamanın ilk bölümünü karşılayan şifrenizdeki kaba kuvvet saldırılarına açık kalacaktır : şifreniz.

Önce doğrulama kodunuz, ardından şifreniz istenecektir (kodun doğru olup olmadığına bakılmaksızın). İkisinden biri yanlışsa ikisini de tekrar girmeniz gerekir. Bunu ters şekilde yapılandırabilirsiniz, ancak mevcut varsayılan ubuntu (15.04) sshd yapılandırmasında tanımlanması biraz daha zor bir değişiklik.

Neden gerekli olduğuna dair ayrıntılar için, şu sorunu kontrol edin:

https://github.com/google/google-authenticator/issues/514

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.