ssh: "Akses ditolak oleh konfigurasi akun PAM" untuk satu pengguna non-root tetapi tidak yang lain

24

Pada VM saya menginisialisasi saya dapat login sebagai satu pengguna non-root ( admin) tetapi tidak yang lain ( tbbscraper) melalui SSH dengan otentikasi kunci publik. Satu-satunya pesan kesalahan yang dapat saya temukan di file log apa pun adalah

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

Di sisi klien, sindromnya adalah

$ 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]

Mengubah 'tbbscraper' ke 'admin' memungkinkan login berhasil: debug1: Authentication succeeded (publickey).muncul alih-alih pesan "Koneksi ditutup".

Ini sepertinya bukan masalah izin ...

# 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

... atau masalah kontrol akses tingkat PAM ...

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

... jadi tidak ada jawaban yang ada untuk pertanyaan serupa yang tampaknya berlaku. Satu-satunya bukti lain yang saya miliki adalah:

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

tapi

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

yang menunjukkan beberapa masalah PAM skala besar, tapi saya tidak dapat menemukan sesuatu yang jelas salah dengan hal-hal di dalamnya /etc/pam.d. Ada ide?

VM adalah turunan EC2, OS adalah Debian 7.1 (AMI off-the-shelf Amazon).

zwol
sumber
/etc/pam.d/sshdtolong
GioMac
@ GioMac Sudahlah, saya menemukan masalahnya.
zwol

Jawaban:

29

Setelah semua itu, ternyata menjadi kesalahan ketik satu karakter /etc/shadow. Tempat perbedaan:

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

Itu benar, ada dua titik dua setelah tanda seru di tbbscrapertelepon. Itu mendorong semua bidang lebih dari satu dan membuat PAM berpikir bahwa akun tersebut kedaluwarsa pada 8 Januari 1970.

zwol
sumber
9
Terima kasih sudah memposting. Ini berguna bagi saya: Saya secara manual membuat entri pengguna di / etc / passwd dan lupa menambahkan entri / etc / shadow yang sesuai.
spazm
6
@ spazm Terima kasih telah berkomentar. Ini berguna bagi saya: Saya telah menyalin pengguna secara manual dari komputer lain dan lupa menyalin / etc / shadow entri dari satu pengguna tanpa kata sandi.
Jayen
8

Terima kasih telah mengirimkan pertanyaan Anda. Saya mendapatkan kesalahan yang sama, tetapi masalah saya tidak terkait dengan file shadow. Saya menemukan perbaikan saya dan ingin mengirim jawaban juga untuk orang lain yang mencari kesalahan ini di Google. Pertanyaan serverfault ini muncul lebih dulu.

Coba periksa /etc/security/access.conf!

Kami menggunakan Active Directory untuk otentikasi, tetapi saya harus masuk sebagai pengguna lokal, non-AD (jenkins). Atasan saya awalnya menyiapkan kotak dengan baris ini di /etc/security/access.conf:

+:root:ALL
-:ALL:ALL

Saya mengubahnya menjadi yang berikut dan login sekarang berfungsi; Saya bahkan tidak perlu memulai kembali layanan apa pun.

+:jenkins:ALL
+:root:ALL
-:ALL:ALL
BoomShadow
sumber
3

Punya pesan kesalahan yang sama. Mematikan sshd dan menyalakannya kembali dalam mode debug

    /usr/sbin/sshd -ddd

ini menunjukkan alasannya:

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

Akun yang diperiksa:

    passwd -S <username>

yang menunjukkan bahwa akun dikunci (ditandai "L") Tidak terkunci akun dengan menetapkan kata sandi baru:

    passwd <username>

Selesai

MarkHelms
sumber
2

Saya mendapat masalah yang sama pagi ini tetapi server mengotentikasi pengguna terhadap Active Directory. Ternyata kata sandi domain pengguna telah kedaluwarsa.

Ab_Ro
sumber
2
Fenomena yang sama, sumber informasi akun pengguna yang berbeda :-) Mungkin saya seharusnya telah mengajukan bug terhadap ssh dan / atau PAM dua tahun yang lalu, meminta penebangan yang lebih jelas tentang mengapa upaya login ditolak; ada argumen keamanan untuk tidak memberi tahu orang yang melakukan upaya mengapa gagal, tetapi itu tidak berlaku untuk log sistem.
zwol
2

Dalam kasus saya, saya mengganti nama pengguna CentOS 6 lokal, dan lupa untuk mengganti nama mereka di / etc / shadow (yang tidak diautentikasi-kunci, tidak muncul di benak saya), jadi catatan untuk nama pengguna baru hanya absen di / etc / shadow. Di / var / log / secure itu memberi saya kesalahan unix_chkpwd dan Access ditolak oleh PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration
kuz8
sumber
1
usermod (8) adalah teman Anda waktu berikutnya ;-)
Michael Shigorin
0

Dalam kasus saya itu adalah sampah yang memukul '' / etc / tcb / USER / shadow '' setelah ext4 rootfs korupsi dalam kondisi "menarik"; itu terlihat sangat texty sehingga tidak terlihat selama pemeriksaan awal (tidak dapat menginstal ulang node sekarang tetapi harus).

Michael Shigorin
sumber
0

Saya memiliki masalah yang sama dan tidak ada opsi yang disarankan bekerja. Tetapi saya menemukan di salah satu forum ( https://ubuntuforums.org/showthread.php?t=1960510 ) "solusi" yang bekerja dengan sempurna.

Edit /etc/ssh/sshd_configdan atur

UsePAM no

Meskipun ini mungkin bukan solusi nyata, karena ada sesuatu yang salah dengan mesin saya (kemarin itu berfungsi dengan baik!), Ini setidaknya berfungsi.

Bapak baptis
sumber