ssh: Kök olmayan bir kullanıcı için “başka bir kullanıcı için değil” PAM hesap yapılandırması tarafından engellendi ”


24

Bir VM'de başlatıyorum. Genel anahtar kimlik doğrulamasıyla SSH üzerinden kök olmayan bir kullanıcı ( admin) olarak değil, başka bir tane ( tbbscraper) olarak giriş yapamıyorum . Herhangi bir günlük dosyasında bulabildiğim tek hata mesajı:

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

Müşteri tarafında, sendrom

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

"Tbbscraper" ı "admin" olarak değiştirmek, başarılı bir giriş yapmanıza izin verir: debug1: Authentication succeeded (publickey)."Bağlantı kapatıldı" mesajı yerine görüntülenir.

Bu izin sorunu gibi görünmüyor ...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

... ya da PAM düzeyinde bir erişim kontrolü sorunu ...

# egrep -v '^(#|$)' /etc/security/*.conf
#

... bu yüzden benzer sorulara verilen cevapların hiçbiri geçerli görünmeyecek. Elimdeki diğer deliller:

root@[REDACTED] # su - admin
admin@[REDACTED] $

fakat

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

Bu da bazı daha büyük ölçekli PAM sorununa işaret ediyor, fakat içeriğinde açıkça yanlış bir şey bulamıyorum /etc/pam.d. Herhangi bir fikir?

VM bir EC2 örneğidir, işletim sistemi Debian 7.1'dir (Amazon'un kullanıma hazır AMI'si).


/etc/pam.d/sshdlütfen
GioMac 18:13

@GioMac Boşver, sorunu buldum.
zwol

Yanıtlar:


29

Bütün bunlardan sonra, içinde bir karakter yazım hatası olduğu ortaya çıkıyor /etc/shadow. Farkı bulun:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

Doğru, tbbscraperçizgideki ünlem işaretinden sonra iki tane kolon var . Bu, tüm alanları bir yere itip kaktı ve PAM'ın hesabın 8 Ocak 1970 tarihinde sona ermiş olduğunu düşünmesini sağlıyor.


9
Gönderdiğiniz için teşekkür ederiz. Bu benim için yararlı oldu: Elle / etc / passwd içinde bir kullanıcı girişi oluşturdum ve karşılık gelen / etc / shadow girdisini eklemeyi unuttum.
spazm

6
@spazm Yorumunuz için teşekkür ederiz. Bu benim için yararlı oldu: Kullanıcıları başka bir makineden elle kopyaladım ve bir kullanıcının / etc / shadow girişini parola olmadan kopyalamayı unuttum.
Jayen

8

Sorunuzu gönderdiğiniz için teşekkür ederiz. Aynı hatayı alıyordum, ancak sorunum gölge dosyasıyla ilgili değildi. Düzeltmeyi buldum ve bu hatayı Googling yapan başkaları için de bir cevap göndermek istedim. Bu sunucu hatası sorusu önce gelir.

Kontrol etmeyi dene /etc/security/access.conf!

Kimlik doğrulama için Active Directory kullanıyoruz, ancak yerel, AD dışı bir kullanıcı olarak oturum açmam gerekiyor (jenkins). Patronum aslen şu kutudaki kutuyu kurmuştu /etc/security/access.conf:

+:root:ALL
-:ALL:ALL

Aşağıdakini değiştirdim ve girişler şimdi çalışıyor; Herhangi bir hizmeti yeniden başlatmam bile gerekmedi.

+:jenkins:ALL
+:root:ALL
-:ALL:ALL

3

Aynı hata mesajı vardı. Sshd kapatıldı ve hata ayıklama modunda yeniden başlatıldı

    /usr/sbin/sshd -ddd

bu sebep gösterdi:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

Checked hesap:

    passwd -S <username>

Bu, hesabın kilitlendiğini gösterdi ("L" bayrağı) Yeni bir şifre belirleyerek hesabın kilidi kaldırıldı:

    passwd <username>

Bitti.


2

Bu sabah da aynı problemi yaşıyorum ancak sunucu kullanıcıları Active Directory'ye karşı doğruladı. Kullanıcının etki alanı şifresinin süresinin dolduğu ortaya çıktı.


2
Aynı fenomen, farklı kullanıcı hesabı bilgileri kaynağı :-) İki yıl önce ssh ve / veya PAM aleyhime bir hata yapmış olmalıyım, bir giriş denemesinin neden reddedildiğinin daha net bir şekilde kaydedilmesi isteniyor; Orada kişiyi söylemediği için bir güvenlik argümanı yapılan neden başarısız girişimi, ama bu sistem günlükleri için geçerli olmaz.
zwol

2

Benim durumumda yerel CentOS 6 kullanıcılarını yeniden adlandırıyordum ve / etc / shadow (şifresiz anahtar kimliği doğrulanmış, aklımda açılmadı) adlarını değiştirmeyi unuttum, bu yüzden yeni kullanıcı adlarının kayıtları sadece / etc / shadow içinde yok. / Var / log / secure olarak bana unix_chkpwd hatası veriyor ve Access PAM tarafından reddedildi:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration

1
usermod (8) bir dahaki sefere arkadaşın ;-)
Michael Shigorin

0

Benim durumumda ext4 rootfs bozulmasından sonra "ilginç" koşullar altında '' / etc / tcb / USER / shadow ''; hoş görünüyordu bu yüzden ilk inceleme sırasında tespit edilmedi (şu anda düğümü tekrar kuramazsınız ama yapmak zorunda kalacaksınız).


0

Aynı sorunu yaşadım ve önerilen seçeneklerin hiçbiri işe yaramadı. Ancak forumlardan birinde ( https://ubuntuforums.org/showthread.php?t=1960510 ) mükemmel çalışan bir "geçici çözüm" buldum .

Düzenle /etc/ssh/sshd_configve ayarla

UsePAM no

Muhtemelen gerçek çözüm olmasa da, makinemde kesinlikle bir sorun var (dün iyi çalışıyordu!), Bu en azından işe yarıyor.

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.