Xác thực SSH Kerberos không thành công với yêu cầu chính của Wrong / Không có thông tin xác thực của khách hàng.


8

Tôi có một máy chủ nén debian nơi tôi không thể đăng nhập bằng kerberos mà không có dấu nhắc mật khẩu. Một máy chủ Ubuntu 12.04 được cấu hình giống hệt hoạt động tốt và có thể đăng nhập mà không cần nhận được lời nhắc mật khẩu.

Sau một kinit, klist đưa ra:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM

Valid starting    Expires           Service principal
14/02/2013 16:37  15/02/2013 16:37  krbtgt/REALM@REALM

Bây giờ khi tôi cố gắng đăng nhập qua ssh vào debian-bóp, tôi sẽ thấy dấu nhắc mật khẩu. Nếu tôi kiểm tra vé của mình tại thời điểm này mà không thực hiện xác thực, tôi sẽ nhận được:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: boti@REALM

Valid starting    Expires           Service principal
14/02/2013 16:37  15/02/2013 16:37  krbtgt/REALM@REALM
14/02/2013 16:38  15/02/2013 16:37  host/debian-squeeze@
14/02/2013 16:38  15/02/2013 16:37  host/debian-squeeze@REALM

Vì vậy, rõ ràng tôi nhận được một vé được cấp. Tuy nhiên, nhật ký gỡ lỗi ssh cho:

Postponed gssapi-with-mic for boti from 192.168.255.98 port 59557 ssh2
debug3: mm_request_send entering: type 40
debug3: mm_request_receive_expect entering: type 41
debug3: mm_request_receive entering
debug3: monitor_read: checking request 40
debug1: Unspecified GSS failure.  Minor code may provide more information
Wrong principal in request

Điều này khá giống với những gì được mô tả ở đây , ở đây và trong bugreport này .

DNS của tôi vẫn ổn. Đã thử tạo lại các hiệu trưởng / khóa. Vì vậy, không có giải pháp nào được giúp đỡ được đăng ở đó.

Có gợi ý nào không?


Chỉ để bao gồm những điều cơ bản, bạn đã kiểm tra xem đồng hồ trên tất cả các máy có được đồng bộ hóa không?
chutz

Đây là tất cả các container lxc chạy trên cùng một máy chủ vật lý. Đồng hồ không thể đồng bộ hơn thế này.
b0ti

Câu trả lời:


7

Trong đầu ra mẫu tôi thấy rằng bạn có một khóa cho một debian-squeeze- tên máy chủ mà không có bất kỳ dấu chấm nào trong đó. Điều này không chứng minh rằng bạn thiết lập độ phân giải ngược của mình để trỏ đến tên ngắn. Đó thực sự là một tên không phải FQDN mà bạn nhìn thấy, hay nó đã được chỉnh sửa cho câu hỏi?

Kerberos nên làm việc với một trong hai, nhưng bạn có thể kiểm tra kỹ xem máy chủ có nghĩ rằng nó được gọi không debian-squeeze. Kiểm tra xem phía trước -> tra cứu ngược bên trong debian-squeezethực sự giải quyết thành debian-squeeze:

$ getent hosts $(hostname) | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}'

Tôi chưa thực sự nghe nói về Kerberos đang được triển khai với tên ngắn, vì vậy nếu bạn có sự lựa chọn, có thể nên gắn bó với FQDN.

Cập nhật:

Máy khách hiện đang nhận được một khóa cho tên ngắn, nhưng máy chủ nghĩ rằng nó được đặt tên đúng với một tên dài. Nhiều khả năng vấn đề là ở đó. Để chắc chắn, hãy thử như sau:

  1. Kiểm tra tra cứu tên tiến / lùi từ máy khách. I E

    $ getent hosts debian-squeeze | awk '{print $1; exit}' | xargs getent hosts | awk '{print $2}'
    

    Tên được trả lại là tên mà khách hàng sẽ cố gắng lấy vé. Đánh giá theo đầu ra của bạn, đây có lẽ là tên ngắn.

  2. Kiểm tra những phím nào có mặt trên máy chủ.

    $ sudo klist -k /etc/krb5.keytab
    Keytab name: WRFILE:/etc/krb5.keytab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       1 host/debian-squeeze.realm@REALM
       1 host/debian-squeeze.realm@REALM
       1 host/debian-squeeze.realm@REALM
       1 host/debian-squeeze.realm@REALM
    ...
    

    Trong danh sách, bạn sẽ thấy một hiệu trưởng khớp với tên máy chủ từ lệnh trước đó. Nếu nó không ở đó, thì đó là vấn đề của bạn. Nếu nó ở đó ...

  3. Xác minh phiên bản chính trên máy chủ kerberos giống với phiên bản trên debian-squeeze. Trên máy khách, nhận một khóa rõ ràng và xác minh phiên bản "KVNO" ở cuối dòng:

    $ kvno host/debian-squeeze.realm
    host/debian-squeeze.realm@REALM: kvno = 1
    

Ở mọi mức độ, tên máy chủ và phiên bản "kvno" trong tất cả các lệnh này phải khớp.


Máy chủ được gọi là 'debian-bóp' như được trả lại bởi hostname. IP ánh xạ trở lại FQDN, vì vậy lệnh bạn đã trả về 'debian-bóp .realm'. Như một lưu ý phụ: Tôi có hai khóa được thiết lập cho máy chủ này, một cho fqdn và một cho tên ngắn. Điều này có thể gây rối?
b0ti

Rất tốt, tôi đã cập nhật câu trả lời của tôi với những điều tiếp theo bạn nên kiểm tra. Nó rất có thể là một sự nhầm lẫn tên ngắn / FQDN.
chutz

Cảm ơn rất nhiều! Vấn đề của tôi thực sự là do khóa phụ có tên máy chủ ngắn. Tôi chỉ muốn nó sẽ dễ dàng hơn để gỡ lỗi các vấn đề như vậy để các bản ghi cho biết hiệu trưởng có vấn đề là gì.
b0ti

0

Tôi đã thấy lỗi này khi / etc / hosts trên máy chủ bao gồm một mục nhập cho địa chỉ IP của nó không khớp với những gì có trong DNS hoặc keytab. Bạn đã kiểm tra lại (hoặc loại bỏ) tất cả các mục không phải localhost từ / etc / hosts chưa?


DNS vẫn ổn. Chỉ các mục localhost trong / etc / hosts.
b0ti
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.