Как я могу сделать пользователя способным войти в систему с ssh ключами, но не с паролем?

Да, это очень, очень раздражающее.

Между тем это приложение должно помочь:
http://www.carsten-mielke.com/redquits.html

Из описания:

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

17
18.09.2016, 04:28
3 ответа

Использование passwd -d прост неправильный, по крайней мере, на Fedora, на любом дистрибутиве Linux на основе тени-utils. Если Вы удаляете пароль с passwd -d, это означает, что любой может войти тому пользователю (на консоли или графический) в обеспечение никакого пароля.

Для блокирования логинов с аутентификацией по паролю работать passwd -l username, который блокирует учетную запись, делающую это доступный для пользователя root только. Блокировка выполняется путем рендеринга зашифрованного пароля в недопустимую строку (путем добавления префикса зашифрованной строки!).

Любая попытка входа в систему, локальная или удаленная, приведет к "неправильному паролю", в то время как вход в систему с открытым ключом будет все еще работать. Учетная запись может затем быть разблокирована с passwd -u username.

Если Вы хотите полностью заблокировать учетную запись, не удаляя его, редактирование /etc/passwd и набор /sbin/nologin или /bin/false в последнем поле. Это приведет к "Этой учетной записи, в настоящее время не доступно". для любого входа в систему attemp.

См. passwd (1) страница справочника.

26
27.01.2020, 19:47
  • 1
    @guido: rvs не будет уведомлен относительно Вашего ответа. Необходимо было бы добавить комментарий к его ответу для того (я сделал его). Обратите внимание, что читатели могут прочитать Ваш ответ перед его, необходимо записать ответы, которые непосредственно отвечают на вопрос. Хорошо сделанный для указания на этого! Это относится к большинству дистрибутивов Linux (те использующие утилиты тени Linux). –  Gilles 'SO- stop being evil' 19.02.2011, 00:39
  • 2
    @Gilles: извините я плохо знаком с stackexchange; я только указал на этого немного едва, потому что это было похоже на предлагающих пользователей для установки учетных записей без пароля, и это было принято и отмечено как полезное... –  guido 19.02.2011, 00:42
  • 3
    @guido: Никакие заботы, я просто объяснял, как сделать Ваше предупреждение более эффективным. На самом деле, в таких крайних случаях, где ответ является опасно неправильным, было бы уместно предложить редактирование, добавляющее предупреждение или исправление (надо надеяться, Вы не будете встречаться с этими ситуациями слишком часто на сайте). –  Gilles 'SO- stop being evil' 19.02.2011, 00:58
  • 4
    @guido: На самом деле, на debian Сжимают (я не знаю о lenny или травлении), что ответ ДЕЙСТВИТЕЛЬНО работает. Это не позволяет никому, но базируется для входа в систему, позволяет, авторизовывают ключи, но это не пароль меньше, это просто не принимает пароля. Я был surpised, Вы могли 'удалить пароль' и что он проложит себе путь. Но это сделало точно, что я хотел и точно что этот ответ делает и был единственным ответом, таким образом, я просто принял его. Этот ответ имеет больше смысла, и я приму его, потому что я готов держать пари, что другой distos действительно позволяет любому входить до н.э в свой без пароля в отличие от debian. Так или иначе хороший ответ. –   20.02.2011, 04:05
  • 5
    @acidzombie24, @mattdn: они, возможно, удалили nullok из pam.d/password-auth, если debian использует pam (я думаю так, но я не debian эксперт). Однако passwd (1) страница справочника cleary указывает, что-d аргумент должен создать учетные записи без пароля, таким образом, любое определенное для дистрибутива предположение здесь вторично, поскольку вопрос был очень общим. статистика –  guido 21.02.2011, 00:00

Просто не устанавливайте пароль для пользователя. Если уже существует пароль, удаляют его при помощи passwd -l <username>.

Но было бы все еще возможно войти в систему как этот пользователь - при помощи authorized_keys, или через su или sudo от некоторой привилегированной учетной записи.

0
27.01.2020, 19:47
  • 1
    Как указано guido, passwd -d делает учетную запись без пароля, как в, можно войти в систему, не имея необходимость вводить пароль. Использовать passwd -l заблокировать учетную запись (думают о нем как о предоставлении невозможного к типу пароля). –  Gilles 'SO- stop being evil' 19.02.2011, 00:34
  • 2
    я добавил предупреждение Вашему сообщению, потому что это опасно как есть. Я оставлю его до Вас, чтобы решить, исправить ли Ваш ответ или удалить Ваш ответ (если Вы думаете, что guido's достаточен), или опровергните предупреждение. –  Gilles 'SO- stop being evil' 19.02.2011, 00:37
  • 3
    Почему, о, почему люди принимают ответ, который даже не работает? –  mathepic 19.02.2011, 01:47
  • 4
    @mathepic: Это действительно работает на debian. Точно путь я спросил –   19.02.2011, 03:14
  • 5
    Вы уверенный, что непривилегированный пользователь не может su пользователю? –  mattdm 20.02.2011, 17:47

Разве Вы не спрашивающий характерный для демона SSH, для не принятия основанной на пароле аутентификации, но аутентификации ключа/пароля?

Ищите изменения в sshd_config.

Набор

PasswordAuthentication No
PreferredAuthentications publickey,hostbased,keyboard-interactive
Protocol 2,1

Ищите больше параметров конфигурации в человеке ssh_config

2
27.01.2020, 19:47

Теги

Похожие вопросы