ssh: Truy cập bị từ chối bởi cấu hình tài khoản PAM, cho một người dùng không phải root nhưng không phải là người dùng khác


24

Trên máy ảo, tôi đang khởi tạo, tôi có thể đăng nhập với tư cách một người dùng không phải root ( admin) nhưng không phải là người dùng khác ( tbbscraper) qua SSH bằng xác thực khóa chung. Thông báo lỗi duy nhất tôi có thể tìm thấy trong bất kỳ tệp nhật ký nào là

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

Về phía khách hàng, hội chứng là

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

Thay đổi 'tbbscraper' thành 'admin' cho phép đăng nhập thành công: debug1: Authentication succeeded (publickey).xuất hiện thay vì thông báo "Kết nối đã đóng".

Đây dường như không phải là vấn đề về quyền ...

# 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

... cũng không phải là vấn đề kiểm soát truy cập ở cấp độ PAM ...

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

... vì vậy không có câu trả lời nào cho các câu hỏi tương tự dường như được áp dụng. Bằng chứng duy nhất khác tôi có được là:

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

nhưng

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

trong đó đề xuất một số vấn đề PAM quy mô lớn hơn, nhưng tôi không thể tìm thấy bất cứ điều gì rõ ràng sai với nội dung /etc/pam.d. Có ý kiến ​​gì không?

VM là một phiên bản EC2, HĐH là Debian 7.1 (AMI ngoài luồng của Amazon).


/etc/pam.d/sshdlàm ơn
GioMac

@GioMac Đừng bận tâm, tôi đã tìm thấy vấn đề.
zwol

Câu trả lời:


29

Sau tất cả, nó hóa ra là một lỗi đánh máy một ký tự /etc/shadow. Phát hiện sự khác biệt:

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

Đúng vậy, có hai dấu hai chấm sau dấu chấm than trên tbbscraperdòng. Điều đó đẩy tất cả các trường trên một và làm cho PAM nghĩ rằng tài khoản đã hết hạn vào ngày 8 tháng 1 năm 1970.


9
Cảm ơn vì đăng. Điều này hữu ích cho tôi: Tôi đã tự tạo một mục nhập người dùng trong / etc / passwd và quên để thêm một mục nhập / etc / bóng tương ứng.
spazm

6
@spazm Cảm ơn bạn đã bình luận. Điều này hữu ích với tôi: Tôi đã sao chép thủ công người dùng từ một máy khác và quên sao chép mục / etc / bóng của một người dùng mà không có mật khẩu.
Jayen

8

Cảm ơn bạn đã gửi câu hỏi của bạn. Tôi đã nhận được cùng một lỗi, nhưng vấn đề của tôi không liên quan đến tập tin bóng. Tôi đã tìm thấy bản sửa lỗi của mình và muốn đăng một câu trả lời cho bất kỳ ai khác Googling lỗi này. Câu hỏi về serverfault này xuất hiện đầu tiên.

Hãy thử kiểm tra /etc/security/access.conf!

Chúng tôi đang sử dụng Active Directory để xác thực, nhưng tôi cần phải đăng nhập với tư cách là người dùng cục bộ, không phải AD (jenkins). Ông chủ của tôi ban đầu đã thiết lập hộp với các dòng này trong /etc/security/access.conf:

+:root:ALL
-:ALL:ALL

Tôi đã thay đổi nó thành như sau và đăng nhập bây giờ hoạt động; Tôi thậm chí không cần phải khởi động lại bất kỳ dịch vụ.

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

3

Có thông báo lỗi tương tự. Tắt sshd và khởi động lại nó trong chế độ gỡ lỗi

    /usr/sbin/sshd -ddd

điều này chỉ ra lý do:

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

Đã kiểm tra tài khoản:

    passwd -S <username>

cho thấy tài khoản đã bị khóa (gắn cờ "L") Hủy khóa tài khoản bằng cách đặt mật khẩu mới:

    passwd <username>

Làm xong.


2

Tôi gặp vấn đề tương tự sáng nay nhưng máy chủ xác thực người dùng chống lại Active Directory. Hóa ra mật khẩu tên miền của người dùng đã hết hạn.


2
Cùng một hiện tượng, nguồn thông tin tài khoản người dùng khác nhau :-) Có thể tôi đã gửi một lỗi chống lại ssh và / hoặc PAM hai năm trước, yêu cầu đăng nhập rõ ràng hơn về lý do tại sao một nỗ lực đăng nhập bị từ chối; có một lập luận bảo mật cho việc không nói cho người thực hiện nỗ lực tại sao nó thất bại, nhưng điều đó sẽ không áp dụng cho nhật ký hệ thống.
zwol

2

Trong trường hợp của tôi, tôi đã đổi tên người dùng CentOS 6 cục bộ và quên đổi tên họ thành / etc / Shadow (những người không có mật khẩu được xác thực bằng mật khẩu, không xuất hiện trong tâm trí của tôi), vì vậy các hồ sơ cho tên người dùng mới chỉ là vắng mặt trong / etc / bóng. Trong / var / log / safe, nó đã gây ra lỗi unix_chkpwd và Access bị PAM từ chối:

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

1
usermod (8) là bạn của bạn vào lần tới ;-)
Michael Shigorin

0

Trong trường hợp của tôi, đó là rác đánh '' / etc / tcb / USER / bóng '' sau khi ext4 rootfs tham nhũng trong điều kiện "thú vị"; nó trông khá đẹp mắt nên không bị phát hiện trong lần kiểm tra ban đầu (không thể cài đặt lại nút ngay bây giờ mà sẽ phải).


0

Tôi đã có cùng một vấn đề và không có lựa chọn đề xuất nào làm việc. Nhưng tôi đã tìm thấy trong một trong các diễn đàn ( https://ubuntuforums.org/showthread.php?t=1960510 ) một "cách giải quyết" hoạt động hoàn hảo.

Chỉnh sửa /etc/ssh/sshd_configvà thiết lập

UsePAM no

Mặc dù đây có thể không phải là giải pháp thực sự, bởi vì có gì đó không ổn với máy của tôi (ngày hôm qua nó hoạt động tốt!), Cái này ít nhất cũng hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.