Я хотел бы использовать logkeys для регистрации нажатий клавиш на SSH'able Linux box. Logkeys перехватывает устройство, это можно использовать для доступа по SSH? Использует ли сеанс SSH устройство? или SSH обходит этот уровень ввода?
1 ответ
logkeys
будет регистрировать только нажатия клавиш клавиатуры (ов) (USB или последовательной), подключенных к машине, на которых logkeys
.
Демон SSH получает входные данные по TCP-соединению, а не с клавиатуры. Устройства, которые использует sshd
являются псевдотерминалами. Они работают на уровне, отличном от клавиатуры, и находятся между sshd
и запускаемыми программами (не между sshd
и пользователем).
logkeys
не работает с терминалом, поэтому вы должны использовать другое решение. Это был бы скорее «регистратор / регистратор сеансов», поскольку он не регистрирует нажатия клавиш непосредственно с клавиатуры.
Запустите обертку с authorized_keys
Вы можете запустить оболочку записи сеанса вместо прямого запуска оболочки или команды. Это можно указать в файле ~/.ssh/authorized_keys
с помощью директивы commnad
. Пользователи должны использовать ключ аутентификации, чтобы это работало. Он не будет работать с аутентификацией по паролю. Подготовленный скрипт доступен, например, здесь: Запись сессий SSH.
Запустите оболочку вместо пользовательской оболочки
Вместо оболочки пользователя вы можете запустить оболочку записи сеанса. Существует один: rooth (базовая функциональность аналогична обертке выше). Например, вы можете заменить пользовательскую оболочку входа в систему.