Akses ditolak untuk pengguna tertentu oleh konfigurasi akun PAM

10

Saya mencoba mengatur login tanpa kata sandi dari machineAuntuk machineBuntuk pengguna saya davidyang sudah keluar. Inilah yang saya lakukan untuk menghasilkan kunci otentikasi:

david@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ ssh-keygen -t rsa
........

Setelah itu saya menyalin id_rsa.pub (/home/david/.ssh/id_rsa.pub)kunci machineAke kunci machineB authorized_keysfile (/home/david/.ssh/authorized_keys).

Dan kemudian saya kembali ke layar login machineA dan berlari di bawah perintah dan itu bekerja dengan baik tanpa masalah. Jadi saya bisa masuk machineBsebagai pengguna david tanpa meminta kata sandi.

david@machineA:~$ ssh david@machineB

Pertanyaan:

Sekarang saya membuat pengguna baru machineAdan machineBkeduanya dengan menjalankan perintah ini saja useradd golden. Dan sekarang saya ingin ssh passwordless dari goldenpengguna ini machineBdari machineA. Saya melakukan langkah yang sama persis seperti di atas tetapi tidak berhasil.

david@machineA:~$ sudo su - golden
golden@machineA:~$ ssh-keygen -t rsa
........

david@machineB:~$ sudo su - golden
golden@machineB:~$ ssh-keygen -t rsa
........

Dan kemudian saya menyalin id_rsa.pubkunci /home/golden/.ssh/id_rsa.pubuntuk pengguna emas dari machineAke machineB authorized_keysberkas /home/golden/.ssh/authorized_keys. Dan ketika saya mencoba ssh, itu memberi saya:

golden@machineA:~$ ssh golden@machineB
Connection closed by 23.14.23.10

Apa yang salah? Itu tidak hanya berfungsi untuk pengguna emas yang saya buat secara manual melalui perintah ini useradd. Saya menjalankan Ubuntu 14.04. Apakah ada pengaturan yang perlu saya aktifkan untuk pengguna manual ini yang saya buat?

Dalam machineB auth.logfile tersebut, di bawah ini adalah apa yang saya lihat ketika saya menjalankan perintah ini dari machineA ssh -vvv golden@machineBuntuk login

Jan  3 17:56:59 machineB sshd[25664]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Jan  3 17:56:59 machineB sshd[25664]: pam_access(sshd:account): access denied for user `golden' from `machineA'
Jan  3 17:56:59 machineB sshd[25664]: pam_sss(sshd:account): Access denied for user golden: 10 (User not known to the underlying authentication module)
Jan  3 17:56:59 machineB sshd[25664]: fatal: Access denied for user golden by PAM account configuration [preauth]

Apakah ada yang saya lewatkan? Di bawah ini adalah bagaimana struktur direktori saya terlihat:

golden@machineA:~$ pwd
/home/golden
golden@machineA:~$ ls -lrtha
total 60K
-rw------- 1 golden golden  675 Nov 22 12:26 .profile
-rw------- 1 golden golden 3.6K Nov 22 12:26 .bashrc
-rw------- 1 golden golden  220 Nov 22 12:26 .bash_logout
drwxrwxr-x 2 golden golden 4.0K Nov 22 12:26 .parallel
drwxr-xr-x 2 golden golden 4.0K Nov 22 12:34 .vim
drwxr-xr-x 7 root     root     4.0K Dec 22 11:56 ..
-rw------- 1 golden golden  17K Jan  5 12:51 .viminfo
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
drwx------ 5 golden golden 4.0K Jan  5 12:51 .
-rw------- 1 golden golden 5.0K Jan  5 13:14 .bash_history


golden@machineB:~$ pwd
/home/golden
golden@machineB:~$ ls -lrtha
total 56K
-rw------- 1 golden golden  675 Dec 22 15:10 .profile
-rw------- 1 golden golden 3.6K Dec 22 15:10 .bashrc
-rw------- 1 golden golden  220 Dec 22 15:10 .bash_logout
drwxr-xr-x 7 root     root     4.0K Jan  4 16:43 ..
drwx------ 2 golden golden 4.0K Jan  5 12:51 .ssh
-rw------- 1 golden golden 9.9K Jan  5 12:59 .viminfo
drwx------ 6 golden golden 4.0K Jan  5 12:59 .
-rw------- 1 golden golden 4.6K Jan  5 13:10 .bash_history

Memperbarui:

Dalam machineA:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash

Dalam machineB:

cat /etc/passwd | grep golden
golden:x:1001:1001::/home/golden:/bin/bash
pengguna5447339
sumber
Bisakah Anda menampilkan /etc/passwdentri untuk pengguna?
pbm
memperbarui pertanyaan dengan detail. Satu hal adalah pertama saya membuat pengguna tanpa kata sandi dan kemudian saya membuat kata sandi untuk pengguna emas ini setelah beberapa waktu.
user5447339
Pam_sss membuat pengguna tidak dikenal. Anda perlu memverifikasi, bagaimana sssd dikonfigurasi pada sistem Anda. Beberapa case sssd dikonfigurasikan ke cache kredensial, jadi Anda mungkin harus membatalkan cache / restart sssd
VenkatC
@VenkatC Bagaimana saya bisa memulai kembali sssd di sistem saya? Ini semua adalah VM, jadi saya tidak yakin bagaimana ini dikonfigurasi karena kami mendapatkan sistem ini dari beberapa tim lain.
user5447339
sysyemctl restart sssd - harus bekerja pada server berbasis systemd
VenkatC

Jawaban:

13

Masalahnya adalah dengan konfigurasi tumpukan PAM. Host Anda dikonfigurasikan dengan pam_accessdan konfigurasi default tidak memungkinkan akses eksternal / SSH untuk pengguna baru golden, meskipun kunci Anda sudah diatur dengan benar.

Menambahkan goldenpengguna ke dalam /etc/security/access.confseperti di bawah ini memperbaiki masalah.

+:golden:ALL

Untuk melihat informasi selengkapnya baca man access.confyang menjelaskan setiap bidang file ini. Lihatlah bagian contoh untuk memahami urutan dan arti LOKAL, SEMUA dll

VenkatC
sumber
Dalam kasus saya, saya harus ditambahkan ke grup yang diberi izin akses. Conf.
Wolfgang
8

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
-3

Silakan tambahkan yang berikut ini di /etc/security/access.conf:

-:ALL:EXCEPT root
IRSHAD AHMED MOHAMMED
sumber
3
Selamat datang di Unix.SE! Bisakah Anda mengedit jawaban Anda untuk menjelaskan bagaimana ini lebih baik daripada jawaban yang ada?
Stephen Kitt
@StephenKitt Saya mencoba kedua jawaban di atas, tetapi mereka tidak bekerja untuk saya. Ketika saya tambahkan -:ALL:EXCEPT rootdi /etc/security/access.conf, itu mulai bekerja.
IRSHAD AHMED MOHAMMED
Silakan coba restart winbindd dan oddjobd. Semoga ini bisa membantu. Terima kasih,
IRSHAD AHMED MOHAMMED
1
@IRSHADAHMEDMOHAMMED Bisakah Anda menjelaskan mengapa itu berhasil dan apa konsekuensi terkait keamanan lainnya yang akan terjadi?
Kusalananda