Я должен удалить пароли пользователей, после того как я настроил аутентификацию с открытым ключом для SSH?

С tail

cat file1.txt && tail -q -n +2 file2.txt file3.txt ..
19
04.09.2018, 15:55
2 ответа

Если у вас есть root-доступ к серверу и вы можете восстановить ssh-ключи для своих пользователей на случай их потери

И

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

И

им никогда никогда не понадобится «физический» (через клавиатуру+монитор или через удаленную консоль для ВМ )доступ к серверу

И

нет пользователей с паролем -закрытый sudoдоступ (т.е. они либо вообще не имеют доступа к sudo, либо имеют доступ к sudo сNOPASSWD)

Я думаю, ты поправишься.

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

35
27.01.2020, 19:44

В этом вопросе изначально упоминалось passwd --delete <username>, что небезопасно :, при этом поле зашифрованного пароля в /etc/shadowбудет полностью пустым.

username::...

Если вы настроили свой sshdна отказ от аутентификации по паролю, то это безопасно с SSH... Но если любая другая служба в вашей системе использует аутентификацию по паролю и не настроена на отклонение нулевых паролей, этот разрешает доступ без пароля! Вы не хотите этого.


adduser --disabled-passwdсоздаст запись /etc/shadow, где поле зашифрованного пароля представляет собой просто звездочку, т.е.

username:*:...

Это «зашифрованный пароль, который невозможно успешно ввести», т. е. это означает, что учетная запись действительна и технически разрешает вход в систему, но делает аутентификацию по паролю невозможной . Поэтому, если на вашем сервере есть какие-либо другие службы, основанные на пароле -аутентификации -, этот пользователь заблокирован от них.

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

Если вам нужно установить существующую учетную запись в это состояние, вы можете использовать эту команду:

echo 'username:*' | chpasswd -e

Существует третье специальное значение для поля зашифрованного пароля :adduser --disabled-login, тогда поле будет содержать только один восклицательный знак.

username:!:...

Подобно звездочке, это делает невозможным успешную аутентификацию по паролю, но также имеет дополнительное значение :: он помечает пароль как «заблокированный» для некоторых инструментов администрирования. passwd -lимеет почти такой же эффект, добавляя к существующему хэшу пароля восклицательный знак, что снова делает невозможным использование аутентификации по паролю.

Но вот ловушка для неосторожных:в 2008 году,версия команды passwd, взятая из старого пакета shadow, была изменена на -определение passwd -lс «блокировки учетной записи» на «блокировку пароля». Заявленная причина - "для совместимости с другой версией passwd".

Если вы (как и я )узнали об этом давным-давно, это может стать неприятным сюрпризом. Не помогает делу и то, что adduser(8)тоже, по-видимому, еще не осознает этого различия.

Часть, которая отключает учетную запись для всех методов аутентификации, фактически устанавливает значение даты истечения срока действия 1 для учетной записи :usermod --expiredate 1 <username>. До 2008 года passwd -l, происходящий из исходного набора shadow, использовался для этого в дополнение к с префиксом пароля с восклицательным знаком -, но больше не делает этого.

Журнал изменений пакетов Debian говорит:

  • debian/patches/494_passwd_lock-no_account_lock: Restore the previous behavior of passwd -l (which changed in #389183): only lock the user's password, not the user's account. Also explicitly document the differences. This restores a behavior common with the previous versions of passwd and with other implementations. Closes: #492307

Истории ошибок для ошибки Debian 492307 и ошибки 389183 могут быть полезны для понимания того, что стоит за этим.

29
27.01.2020, 19:44

Теги

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