Điểm:0

Thông tin đăng nhập Kerberos không được gia hạn trên máy khách ipa ubuntu

lá cờ kz

Khi tôi sử dụng ssh để đăng nhập vào ứng dụng khách freeipa của mình, tôi nhận được thông tin đăng nhập Kerberos (klist). Tuy nhiên, sau khi chúng hết hạn, tôi không còn nhận được thông tin xác thực nữa (klist trống). Điều này dẫn đến không có thư mục chính vì người dùng không có quyền đối với nfs. Tôi có thể sử dụng knit để lấy thông tin đăng nhập mới. Khởi động lại sssd và đăng nhập lại bằng ssh, cũng nhận được một vé mới. Sử dụng Sudo cũng nhận được vé.

Tôi thậm chí không biết quy trình nào chịu trách nhiệm yêu cầu vé, vì vậy tôi không biết bắt đầu gỡ lỗi sự cố từ đâu. Tôi có Ubuntu 20.04 và đã sử dụng gói freeipa-client để cài đặt ứng dụng khách.

Bất kỳ trợ giúp sẽ được đánh giá cao.

YuvGM avatar
lá cờ kz
Hóa ra vấn đề là tôi đã sử dụng khóa chung để xác thực bằng ssh. Vé chỉ được tạo khi tôi sử dụng xác thực mật khẩu. Bây giờ câu hỏi là tại sao? Đó là do thiết kế hay tôi cần phải cấu hình một cái gì đó.
Điểm:1
lá cờ ng

Nếu bạn đang sử dụng khóa công khai ssh để xác thực, thì bạn chỉ đang xác thực với trình nền ssh của mình chứ không phải với hệ thống. Trình nền SSH sẽ tuyên bố rằng nó đã thực hiện xác thực và sau đó đăng nhập bạn vào trình bao. Mặc dù quá trình này có thể đang sử dụng ngăn xếp PAM để thiết lập phiên đăng nhập của bạn, tuy nhiên, nó không xử lý xác thực thông qua ngăn xếp PAM.

Tôi có thể nói rõ ràng với bạn, nhưng vé Kerberos chỉ có thể nhận được nếu bạn sử dụng phần mềm yêu cầu nó. Trên một hệ thống điển hình, một vé như vậy sẽ được yêu cầu thông qua PAM xác thực giai đoạn nếu một trong hai pam_sss hoặc pam_krb5 được định nghĩa trong xác thực ngăn xếp cấu hình PAM được ứng dụng của bạn sử dụng. Khi ứng dụng như vậy (ví dụ: sshd) đang bỏ qua xác thực giai đoạn này, không có mô-đun PAM nào chịu trách nhiệm xác thực được gọi và không có vé Kerberos nào có thể nhận được theo cách này.

Khi ứng dụng khách Kerberos cố gắng yêu cầu một vé cấp vé ban đầu (TGT), nó và Kerberos KDC trao đổi một danh sách cái gọi là "phương pháp xác thực trước". Trên thực tế, đây là những phương pháp được sử dụng để xác thực ứng dụng khách của bạn với KDC. Một phương thức do khách hàng chọn, nếu được KDC chấp nhận, sẽ thực hiện quy trình xác thực thực tế. Không có phương pháp xác thực trước Kerberos nào sử dụng cặp khóa SSH để xác thực, vì vậy bạn không thể sử dụng cặp khóa SSH để lấy TGT. Tất cả các phương pháp xác thực trước dựa trên mật khẩu tiêu chuẩn đều được xây dựng xung quanh cả ứng dụng khách Kerberos và Kerberos KDC đã biết khóa dài hạn (mật khẩu) của người dùng chính, mặc dù họ không chuyển nó qua mạng. Hiện tại có một phương pháp không dựa vào mật khẩu và nó được gọi là phương pháp PKINIT dựa trên việc hoàn tất xác thực bằng cơ sở hạ tầng chứng chỉ khóa công khai.

Bạn có thể làm gì? Thay vào đó, bạn có thể muốn thay đổi hoàn toàn và sử dụng thẻ thông minh để xác thực. Xác thực thẻ thông minh được Kerberos hỗ trợ dưới dạng phương thức xác thực trước 'pkinit'.Ngoài ra, daemon SSH có khả năng xử lý chứng chỉ từ thẻ thông minh của bạn để xác thực tương tự như trường hợp cặp khóa SSH.

Nếu bạn muốn sử dụng xác thực PKINIT, bạn có hai cách: lấy Kerberos TGT với PKINIT trên máy trạm của bạn và đăng nhập vào trình nền SSH trên máy khác bằng vé Kerberos mà bạn có cục bộ hoặc sử dụng chứng chỉ thẻ thông minh của bạn để đăng nhập vào trình nền SSH với tư cách là một Khóa SSH và sau đó sử dụng chuyển tiếp thẻ thông minh để yêu cầu một vé Kerberos trực tiếp trên máy chủ. Trong trường hợp trước, TGT ban đầu của bạn sẽ không được tự động chuyển tiếp đến máy chủ SSH, trừ khi bạn đã yêu cầu ủy quyền vé. Trong trường hợp sau, bạn vẫn cần yêu cầu TGT.

Bất kể sử dụng phương pháp nào, bạn chắc chắn có thể hưởng lợi từ https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_certificates_in_idm/index

Nếu bạn không muốn hoặc không thể sử dụng thẻ thông minh, thì phương pháp duy nhất còn lại là sử dụng đăng nhập Kerberos trực tiếp và quên xác thực cặp khóa SSH.

YuvGM avatar
lá cờ kz
Cảm ơn câu trả lời toàn diện. Nó xác nhận sự nghi ngờ của tôi khi tôi nhận ra rằng vé chỉ được trao sau khi tôi nhập mật khẩu của mình. Tôi thừa nhận rằng tôi đã lang thang trên con đường freeipa mà không cần biết, hy vọng tôi có thể chấp nhận nó. Cuối cùng, khi đối mặt với một vấn đề, có rất nhiều thực thể và dịch vụ liên quan, thật khó để truy tìm nguồn gốc của vấn đề.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.