SSH аутентификация при помощи открытого ключа
Материал из DiPHOST.Ru wiki system
SSH широко используется для безопасного доступа к удалённым системам. Большинство использующих SSH знакомы с обычной аутентификацией при помощи пароля. Это самый лёгкий, доступный по умолчанию, способ аутентификации пользователя. Но у него есть ряд недостатков, включающих проблемы безопасности, простоту и удобство использования. В протоколе SSH существует несколько удобных возможностей, позволяющих решить эти проблемы.
Доступ по паролю
SSH обеспечивает обычный доступ с использованием логина и пароля. Вначале устанавливается соединение, происходит проверка и аутентификация сервера - сервер передаёт свой публичный ключ, устанавливается защищённое соединение. И уже по защищённому каналу происходит процесс запроса имени пользователя и пароля.
Для примера рассмотрим подключение с домашнего компьютера пользователя HOME к серверу SERVER.
- Пользователь установил защищённое соединение и выслал имя юзера серверу. В отличии от Telnet, в SSH передача имени пользователя входит в состав протокола.
- Сервер посылает обратно запрос пароля. Доступа пользователю пока не предоставлено.
- Программа клиент на стороне HOME запрашивает пользователя ввести пароль и отсылает его на SERVER по установленному ранее защищённому каналу.
- Сервер сравнивает присланный пароль с имеющимся у него в базе пользователей, и если он совпадает, то предоставляет пользователю доступ.