Cả hai PreferredAuthentications=password
và PreferredAuthentications=keyboard-interactive
sẽ nhắc nhập mật khẩu, vậy sự khác biệt giữa chúng là gì?
Tôi Google với các từ khóa ssh PreferredAuthent gợi ý sự khác biệt tương tác bàn phím mật khẩu nhưng không tìm thấy câu trả lời.
Sự khác biệt duy nhất tôi nhận thấy là các chuỗi dấu nhắc ( user@host's password:
vs. Password:
):
$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
CẬP NHẬT (2018-04-09):
Để dễ dàng tham khảo, phần sau đây là từ cuốn sách SSH: TDG như được đề cập trong câu trả lời của jouell .
"keyboard-interactive"
xác thực người dùng chủ yếu nhằmPAM
xác thực chỗ ở phía máy chủ. Nó cung cấp một hộp thoại phản hồi nhiều thách thức với người dùng trong đó máy chủ gửi truy vấn văn bản tới người dùng, người dùng nhập vào một phản hồi và quá trình này có thể lặp lại bất kỳ số lần nào. Vì vậy, ví dụ, bạn có thể định cấu hìnhPAM
cho SSH bằng một mô-đun thực hiện xác thực bằng mã thông báo bảo mật RSA hoặc sơ đồ mật khẩu một lần . Mọi người trở nên bối rối bởi vì theo mặc định,"keyboard-interactive"
xác thực thường chỉ thực hiện xác thực mật khẩu trong một chu kỳ phản hồi thử thách duy nhất, chỉ nhắc nhở mật khẩu, do đó trông giống hệt như"password"
xác thực. Nếu bạn không cố tình sử dụng cả hai cho các mục đích khác nhau, bạn có thể muốn vô hiệu hóa cái này hoặc cái kia để tránh sự nhầm lẫn của người dùng cuối.