SSH: отключить пароль для входа в систему для root, но оставив подсказку

Вы можете использовать псевдонимы для команд, для которых хотите задать время:

alias ls='time command ls'
alias firefox='time command firefox'

или, используя функции оболочки:

ls ()  { time command ls "$@"; }
firefox ()  { time command firefox "$@"; }

Команда command не является строго необходимой в псевдонимах, но требуется в функции оболочки, или иначе вы получите красивую бесконечную рекурсию, которая, вероятно, закончится дампом ядра оболочки. Команда команда обойдет любой поиск функций оболочки для команды, которую вы выполняете.

1
28.08.2017, 10:54
2 ответа

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

Другой вопиющий вопрос: почему? Если есть кто-то, кого вы не хотите допускать в свою систему, последнее, что вам нужно сделать, это предоставить ему API для атаки.

Читая между строк, вы, похоже, используете Opensshd в Linux (было бы полезно явно указать, какие версии приложения и ОС вы используете ).

Не говоря уже об этом...

Имя пользователя, отправленное на сервер клиентом, отправляется после согласования шифрования. Таким образом, вы не можете просто проксировать и перенаправлять соединение.

Что вы можете сделать, так это указать sshd использовать PAM и настроить соответствующую политику для отказа в доступе для определенных пользователей независимо от предоставленного пароля. Хотя есть много способов сделать это, использование файлов списка pam _означает, что вы можете переместить большую часть конфигурации из самого стека pam (, есть хороший шанс, что вы можете заблокировать себя от сервера, уменьшив количество возиться с конфигурацией pam смягчает это ).

2
27.01.2020, 23:33

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

В Linux вы можете отключить пароль учетной записи с помощью

# usermod --lock <username>

или

# passwd --lock <username>

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

Естественно, если вы собираетесь сделать это с учетной записью root, вам, вероятно, следует сначала настроитьsudo, чтобы при необходимости можно было отменить процесс. Заблокированный пароль можно разблокировать с помощью usermod --unlockилиpasswd --unlock(или, в крайнем случае, путем прямого редактирования /etc/shadow). Если вы этого не сделаете, вы можете полностью потерять доступ к корневой учетной записи.

0
27.01.2020, 23:33

Теги

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