ssh -o PreferredAuthentication: Яка різниця між "паролем" та "інтерактивною клавіатурою"?


36

Як PreferredAuthentications=passwordі PreferredAuthentications=keyboard-interactiveзапрошуватиме пароль, так що різниця між ними?

Я Google би отримав ключові слова ssh PreferredAuthentication, що відрізняються паролем клавіатури та інтерактивною, але відповіді не знайшов.

Єдина відмінність, яку я помітив, - це рядки підказок ( user@host's password:проти 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).

ОНОВЛЕННЯ (2018-04-09):

Для легкої довідки: з SSH: книга TDG, як згадується у відповіді jouell .

"keyboard-interactive"аутентифікація користувача призначена насамперед для розміщення PAMавтентифікації на стороні сервера. Він передбачає багаторазове діалогове вікно-відповідь із користувачем, в якому сервер надсилає текстовий запит користувачеві, тип користувача у відповіді, і цей процес може повторюватися будь-яку кількість разів. Наприклад, ви можете налаштувати PAMдля SSH модуль, який виконує автентифікацію за допомогою маркера безпеки RSA або одноразової схеми паролів . Люди заплутуються через це, тому що за замовчуванням "keyboard-interactive"аутентифікація зазвичай просто реалізує автентифікацію пароля в єдиному циклі відповіді на виклик, який просто запитує пароль, таким чином виглядаючи точно так само"password"аутентифікація. Якщо ви навмисно не використовуєте обидва для різних цілей, ви можете вимкнути те чи інше, щоб уникнути плутанини з кінцевим користувачем.


1
Див. RFC 4252 для автентифікації пароля та RFC 4256 для інтерактивної клавіатури .
pynexj

Відповіді:


37

Протокол SSH має численні методи аутентифікації. Пароль і клавіатури інтерактивні є двома з них.

Паролю простий запит для одного пароля. Немає конкретних запитів, надісланих сервером. Так що клієнт , який вибирає , як маркувати запрошень (The «користувач @ пароль господаря» підкажіть від OpenSSH клієнтів , як ssh, sftpі т.д.).

Аутентифікації клавіатури інтерактивної є більш складним запитом довільного числа елементів інформації. Для кожної інформації сервер надсилає мітку підказки. Більше того, це дозволяє серверу надати довгий опис загальної "форми". Сервер також може вказати, які вхідні дані є секретними (їх потрібно приховати, коли користувач вводить їх), а які - ні.

Хоча в більшості випадків інтерактивна аутентифікація на клавіатурі використовується для запиту єдиного "секретного" підказки пароля, тому навряд чи є різниця в автентифікації пароля .

Це різниця з точки зору протоколу.


З точки зору реалізації, за допомогою сервера OpenSSH аутентифікація на клавіатурі може бути підключена до двофакторної (або багатофакторної) аутентифікації, наприклад, забезпечується загальним PAM-механізмом або Kerberos .

З точки зору клієнта, ще одна відмінність - локалізація. За допомогою автентифікації пароля клієнт може локалізувати мітку "Пароль" , оскільки він знає, що сервер запитує пароль. За допомогою інтерактивної аутентифікації на клавіатурі , навіть коли сервер запитує лише один пароль, клієнт не може локалізувати підказку (якщо тільки він не використовує AI), оскільки це загальний запит.


2

Ви вже знаєте, що таке «пароль». З самого високого рівня (не цегла протокол речі рівень), думаю «клавіатура-інтерактивний» як метод , який ви використовувати 2fa з використанням Radius і / або SecurID і т.д. Це можна використовувати для здійснення і реагування на діалогах: ssh.com має приємний короткий опис на ньому. Це кроки далі, щоб виділити клавіатурно-інтерактивну парасольку, під яку підпадає пароль. Поважаючи авторів, це трохи заплутано.

Також дивіться визначення « Книжки равликів» . Ми часто використовуємо це для наших захищених коробок RSA.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.