Hem sshd_config içinde AllowGroups hem de AllowUsers nasıl kullanılır?


28

Ben değiştirmeye çalışıyorum /etc/ssh/sshd_confighem emek verdikten debian7 sunucusunda AllowUsersve AllowGroups. Ancak ikisinin birlikte çalışabileceğini göremiyorum.


Kurulum

  • Adlı bir kullanıcı var testuser.
  • Bu kullanıcı adı verilen bir grupta ssh-users:

    $ groups testuser
    testuser : testuser ssh-users
    
  • testuserbağlanmaya ssh testuser@<server_ip>ve şifrelerini girmeye çalışıyor .

  • Benim sshd_configburada bulunabilir: http://pastebin.com/iZvVDFKL - Temelde varsayılandan yaptığım değişiklikleri yaptım:
    • kurmak PermitRootLogin no
    • ve iki kullanıcıyı ekleyin AllowUsers(gerçek kullanıcı adları sunucumda farklı)
  • service ssh restartdeğiştirildikten sonra her seferinde çalıştırılır sshd_config.

Sorun

  • testuser olabilir ile ayarlandığında bağlamakAllowUsers:

    AllowUsers user1 user2 testuser
    
  • testuserolabilir DEĞİL ayarlarken bağlamak AllowGroupsonun grubu için:

    AllowUsers user1 user2
    AllowGroups ssh-users
    

    Böylece sonuçlar Permission denied, please try again.ne zaman testuserssh şifre isteminde şifrelerini girer.


Soru

  • Mu AllowUsersgeçersiz kılma AllowGroups?
  • Kullanıcı adını el ile eklemeden bunu düzeltmenin en iyi yolu nedir AllowUsers? İdeal olarak, tekrar ssh-usersdokunmak zorunda kalmadan sadece gruba kullanıcıları ekleyebilmek istiyorum sshd_config.

5
Ideally I'd like to be able to just add users to the ssh-users group in the future without having to touch sshd_config again.- Peki neden AllowUsers'ı kullanıyorsunuz? Herkesi gruba / gruba koyun.
Zoredache

Yanıtlar:


24

Evet, AllowUsersemsal alır AllowGroups. Belirtilirse, yalnızca belirtilen desenle eşleşen kullanıcılar AllowUsersSSHD örneğine bağlanabilir.

sshd_config Manpage'e göre :

/ İzin direktifler aşağıdaki sırayla işlenir inkar: DenyUsers, AllowUsers, DenyGroupsve nihayet AllowGroups.

Bu nedenle, sorununun çözümü muhtemelen grupların kullanıcıları yönetmek için tercih ettiğiniz yol olması durumunda, muhtemelen grup erişim yönergelerinden birini veya diğerini kullanmaktır.


Yani sadece AllowGroups user1 user2 ssh-usersişe yarayacak mı? Testten önce onayınızı tercih ederim çünkü daha önce kendi ssh ayrıcalıklarımı yanlışlıkla kaldırdım ve düzeltmek için destek almak zorunda kaldım. MatchBloktan ne haber ? Buraya tavsiye istiyorum çünkü man sayfasına baktım, pratikte nasıl çalışacağını bilmek konusunda hiçbir sezgim / deneyimim yok. Mesela, düşündüğüm işleme sırası ile, AllowGroups AllowUsers'in peşinden geldiğinden, işlendiğinde geçersiz kılardı, ama sezgim orada yanlıştı :)
Johannes

2
Bunların üçü de sisteminizde gruplarsa, çalışması gerekir. User1 ve user2 yalnızca kullanıcılarsa, bunları ssh kullanıcılarına ekleyebilir ve AllowGroups ssh kullanıcıları ile uğraşabilirsiniz.
Jeff-Inventor ChromeOS

@Johannes, böyle bir şeyi test ederken, juste makinede bir kabuk açtığınızdan emin olun. Sshd'nin yeniden başlatılması oturumunuzu bozmaz ve yeni bir tane açamazsanız, mevcut durumla karışıklığınızı düzeltebilirsiniz.
Jean-Bernard Jansen

6

Jeff'in cevabı, sorunun ayrıntılarını ayrıntılı olarak ele alıyor, ancak bu soruyu kullanmak isteyen AllowUsersve AllowGroupsbiraz farklı bir senaryoda buldum . Belirli alt ağlardan gelen bir gruptaki (ssh) kullanıcılarla gelen bağlantıları sınırlamak istedim.

Sshd_config içindeki bağlantı kuralları bir filtredir - her ek kural uygulandığından, kabul edilebilir kullanıcı kümesi yalnızca azaltılabilir. PATTERNSiçinde ssh_config (5) bu kurallara şeklini açıklar.

Ayrıca, AllowUsersbölüme göre sshd_config:

Kalıp USER @ HOST şeklini alırsa, USER ve HOST ayrı ayrı kontrol edilir ve belirli kullanıcılara girişleri belirli ana bilgisayarlardan kısıtlar. HOST kriterleri ayrıca CIDR adresi / masklen formatında eşlenecek adresleri içerebilir.

AllowGroups USER @ HOST formunu kabul etmiyor.

Dolayısıyla, kullanıcıları 1) ssh grubundaki ve 2) belirli alt ağlardan / ana bilgisayarlardan kabul etmek için:

AllowUsers *@192.168.1.0/24 *@*.example.com *@1.2.3.4
AllowGroups ssh

AllowGroups doesn't accept the USER@HOST form. Bununla ne kastettiğinizden emin değilsiniz ve kesinlikle config dosyası veya docs'ın söylediği de değil. Gruplara İzin Ver kesinlikle ssh username@example.com kullanarak giriş yapmanıza izin verir.
AndrewD

1
@AndrewD AllowGroups yalnızca grup adlarını kabul eder - örneğin yapamazsınız AllowGroups ssh@example.com. HOST, kaynaşmakta olduğunuz kaynak.
bjacobowski

3

İşte çalışırken bulduğumuz bir çözüm:

AllowUsers user1 user2
Match group ssh-users
    AllowUsers *
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.