Вы можете использовать псевдонимы для команд, для которых хотите задать время:
alias ls='time command ls'
alias firefox='time command firefox'
или, используя функции оболочки:
ls () { time command ls "$@"; }
firefox () { time command firefox "$@"; }
Команда command
не является строго необходимой в псевдонимах, но требуется в функции оболочки, или иначе вы получите красивую бесконечную рекурсию, которая, вероятно, закончится дампом ядра оболочки. Команда команда
обойдет любой поиск функций оболочки для команды, которую вы выполняете.
Не совсем понятно, о чем вы здесь спрашиваете. Вы имеете в виду, что вы все еще хотите разрешить вход в систему с помощью пары ключей для этого пользователя? Вы сказали «скажем, root» -, но это пользователь root? Пользователь root — это всегда особый случай.
Другой вопиющий вопрос: почему? Если есть кто-то, кого вы не хотите допускать в свою систему, последнее, что вам нужно сделать, это предоставить ему API для атаки.
Читая между строк, вы, похоже, используете Opensshd в Linux (было бы полезно явно указать, какие версии приложения и ОС вы используете ).
Не говоря уже об этом...
Имя пользователя, отправленное на сервер клиентом, отправляется после согласования шифрования. Таким образом, вы не можете просто проксировать и перенаправлять соединение.
Что вы можете сделать, так это указать sshd использовать PAM и настроить соответствующую политику для отказа в доступе для определенных пользователей независимо от предоставленного пароля. Хотя есть много способов сделать это, использование файлов списка pam _означает, что вы можете переместить большую часть конфигурации из самого стека pam (, есть хороший шанс, что вы можете заблокировать себя от сервера, уменьшив количество возиться с конфигурацией pam смягчает это ).
Что-то, что вы можете попробовать, это полностью отключить вход с паролем для учетной записи -, то есть не только SSH, но это также помешает кому-либо войти в систему под этой учетной записью пользователя с обычной консоли или с помощью графического оконного менеджера, или так далее. Для сервера-приманки, у которого нет другой цели, кроме сбора попыток входа в систему SSH, это должно быть хорошо.
В Linux вы можете отключить пароль учетной записи с помощью
# usermod --lock <username>
или
# passwd --lock <username>
Вы по-прежнему сможете входить в эту учетную запись с помощью ключа SSH, если у вас настроена аутентификация по публичному ключу, и вы по-прежнему можете использовать sudo
для выполнения команд под этой учетной записью, если она настроена соответствующим образом.
Естественно, если вы собираетесь сделать это с учетной записью root, вам, вероятно, следует сначала настроитьsudo
, чтобы при необходимости можно было отменить процесс. Заблокированный пароль можно разблокировать с помощью usermod --unlock
илиpasswd --unlock
(или, в крайнем случае, путем прямого редактирования /etc/shadow
). Если вы этого не сделаете, вы можете полностью потерять доступ к корневой учетной записи.