Какой самый длинный (сколько символов) пароль SSH?
Мне нравятся надежные и длинные пароли, но я не знаю ограничения на количество символов.
Спасибо.
Не существует фиксированной максимальной длины. Ваш пароль не сохраняется, хранится «соленый хеш» вашего пароля, обычно в файле / etc / shadow, который всегда имеет определенную длину. Даже если ваш пароль состоит из 50+ символов, хешированное представление пароля будет намного меньше.
В любом случае используйте надежные пароли, но пароли должны быть простыми в использовании и запоминающимися - если вы сделаете их слишком длинными, вам может потребоваться записать их, что, вероятно, будет большей проблемой безопасности, чем более короткий пароль.
Здесь смешиваются несколько вещей как в вопросе, так и в ответах. Давайте разберемся.
SSH не накладывает никаких ограничений на длину пароля. Фактически SSH никогда ничего не знает о вашем пароле. Он имеет несколько режимов аутентификации, включая ключ (например, RSA, упомянутый в другом месте) и клавиатура интерактивная, что позволяет использовать пароль. В интерактивном режиме с клавиатурой вы просто передаете пароль тому, что находится на сервере.
Обычно для Unix-подобного сервера этот бэкэнд - это подключаемые модули аутентификации или PAM. Это не всегда, но исключения случаются редко.
PAM, в свою очередь, поддерживает несколько серверов для проверки вашего пароля. Тот, кого обсуждали -/etc/shadow
- входит в состав pam_unix
бэкэнд. Pam_unix проверяет токен аутентификации, введенный вами в интерактивном режиме с клавиатуры, по вашему хешированному паролю в файле / etc / shadow. Строго говоря, здесь тоже нет ограничений на длину пароля, но есть ограничения на то, насколько долго пароль имеет смысл. Это зависит от используемого хеша.
Как уже было сказано, обычное шифрование UNIX DES обращает внимание только на 8 букв вашего пароля (56 бит). Вы можете использовать более длинный пароль, но все, что превышает первые 8 символов, выбрасывается. (Я никогда не слышал, чтобы, как кто-то сказал, хеширование MD5 использует только 8 символов, и я не думаю, что это правда. Если это так, то это ограничение реализовано где-то в инструментарии PAM, а не в самом хэше.)
Тем не менее, битовая длина хеша определяет возможное пространство конфликтов между двумя паролями и, следовательно, определяет, насколько долго пароль будет более безопасным. MD5 - 128 бит; SHA1 - 160; SHA256 равен 256 и т. Д.
Итак, для pam_unix:
Но ждать! Pam_unix - не единственный бэкэнд!
Многие серверы, особенно в корпоративных средах, используют для аутентификации серверные части LDAP или Active Directory. В принципе, они могут иметь собственные ограничения длины пароля, но это не свойство SSH, а свойство службы каталогов. Вам нужно будет попросить об этих услугах в сообществе. Но с практической точки зрения я не ожидаю, что вы столкнетесь с какими-либо ограничениями длины пароля при любом распространенном развертывании LDAP или AD. Если да, то это почти наверняка слабая или скомпрометированная инфраструктура.
Так что не бойтесь вводить пароль самостоятельно - рекомендуется минимум 16 символов, хотя я использовал целых 75 в зависимости от того, что я защищаю, - а затем настройте аутентификацию RSA, чтобы вам не приходилось так вводить много.
Если пароль хранится как DES или MD5, то значимы только первые 8 символов. Пароли SHA не имеют такого ограничения. Увидеть crypt(3)
справочную страницу для подробностей.
https://tools.ietf.org/html/rfc4253 - SSH - это безопасный протокол для связи с удаленным терминалом, в котором не используется пароль (используется согласование криптографического ключа). Тем не менее, как только вы подключитесь к удаленному терминалу, вы обычно увидите «сообщение дня» (MOTD) и вас попросят ввести учетные данные для входа, правила которых определяются ОС удаленного терминала. (Переполнение символьного буфера поля имени или пароля - повторяющийся недостаток безопасности) популярные ограничения - 8, 32 и 255 символов в длину.