Отключить вход SSH через пароль для каждого пользователя?

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

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

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

  • Как сделать SCP файл через промежуточный сервер?
  • Как работает шифрование SSH?
  • Как настроить SSH, чтобы он не пытался автоматически загружать все файлы удостоверений?
  • PuTTY не отправляет Esc
  • Как копировать файлы с помощью SSH?
  • Как SSH внешний сервер с компьютера, который находится за брандмауэром прокси?
  • 3 Solutions collect form web for “Отключить вход SSH через пароль для каждого пользователя?”

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

    Нет. Вообще.

    Каково (техническое / конструктивное) ограничение в способе работы SSH, который его предотвращает?

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

    Это ограничение, специфичное для реализации в демоне SSH (или службе)

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

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


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

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

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

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

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

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

     Match user someuser PasswordAuthentication no 

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

    Давайте будем гением компьютера.