3

Я спросил некоторых провайдеров веб-хостинга (Bluehost и Dreamhost), и они оба сказали, что на общих учетных записях хостинга у них нет возможности отключить вход через SSH с паролем. Это означает, что даже если мы настроим ключи SSH, вход в систему без них и через пароль хостинга будет всегда включен, что в значительной степени сводит на нет большинство преимуществ для ключей.

Из того, что я могу найти в Интернете, редактирование /etc/ssh/sshd_config - это способ отключить вход в систему с помощью пароля, но, поскольку это общий хостинг, это невозможно.

Все это говорит, что они никогда не утверждали, что это невозможно сделать (хотя я не нашел пути), просто они не поддерживают это. Есть ли способ сделать это для каждого пользователя, чтобы я мог настроить его сам? И если нет, то почему, что (техническое / проектное) ограничение в том, как работает SSH, препятствует этому?

3 ответа3

3

[Есть ли способ] отключить SSH вход через пароль для каждого пользователя?

Нет, вообще.

Каковы (технические / проектные) ограничения в том, как работает SSH, что мешает этому?

В конструкции или спецификации протокола SSH есть примечание, которое препятствует этому.

Это ограничение конкретной реализации в демоне (или службе) SSH

Обычная программа sshd на платформах Linux (и т.д.) Была написана для чтения одного файла конфигурации, который применяется ко всем пользователям этого экземпляра программы.

Я полагаю, что было бы возможно написать демон SSH, который ищет дополнительный файл конфигурации в домашнем каталоге пользователя (например). Однако это не было сделано (вероятно, недостаточный спрос)


Есть что-нибудь примерно эквивалентное?

То, что вы можете сделать, это установить пароль для входа в систему пользователя на очень длинную и совершенно случайную строку.

Возможно, можно использовать оболочку для установки пароля, содержащего символы, которые нельзя ввести с помощью клиентов SSH, которые, как полагают, используются злоумышленниками. Или, по крайней мере, установить пароль, который намного дольше, чем любой, который они, вероятно, попытаются использовать обычными словарными подходами.

-1

На сервере OpenSSH, чтобы отключить аутентификацию по паролю для каждого пользователя, вы должны добавить эти строки в файл sshd_config :

Match user someuser
PasswordAuthentication no

Обратитесь к руководству sshd_config за подробностями. После редактирования sshd_config обязательно перезапустите sshd.

-1

SSH поддерживает эту функцию, и реализовать ее довольно тривиально - как уже говорили другие, она нуждается в сотрудничестве вашего провайдера. Вы могли бы сделать это, настроив учетную запись пользователя без действительного пароля (В моем дистрибутиве вы можете сделать это, несколько раз не введя пароль на adduser, но вы всегда можете отредактировать /etc /shadow и изменить зашифрованный пароль на " *" или же "!"- столько учетных записей уже будет создано.

Вторым шагом является установка вашего открытого ключа в authorised_hosts - это устраняет необходимость в ssh проверять ваш пароль, чтобы дать вам доступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .