Мониторинг входящего сеанса SSH в режиме реального времени

21

Есть ли программное обеспечение Linux для мониторинга входящего сеанса SSH. На предыдущей работе мне сказали, что если вам когда-нибудь понадобится поддержка со стороны Red Hat, например, вы можете использовать SSH на своей машине и смотреть, что они делают.

Я нахожусь в подобной ситуации, когда я хочу подключиться к машине друзей, чтобы помочь ему, но я хочу, чтобы он мог наблюдать за тем, что я делаю в образовательных целях, и убедиться, что я не делаю ничего плохого.

Какие-либо предложения?

Благодарность

Ричард
источник
На этой странице было объявление ObserveIT, и они являются достаточно хорошим решением, чтобы попробовать, если что-то хочет SaaSish.
Кагали-сан

Ответы:

15

GNU Screen обладает этой способностью, вы можете разрешить конкретному пользователю оболочки работать только через экран.

https://www.linux.com/learn/tutorials/442418-using-screen-for-remote-interaction

Адам Гиббинс
источник
1
Единственная проблема с экраном заключается в том, что им нужно будет начать сеанс экрана после входа в систему, чтобы увидеть сеанс. Также как специалист, который предоставил удаленную поддержку и сделал это, вы не можете контролировать все окна экрана одновременно, поэтому они все еще могут запускать команды на другом экране и скрывать его.
Гражданин Кеплер
3

Я думаю, что экран - это то, что вам нужно, но если вы не хотите сидеть и смотреть, и хотите «запечатлеть» сеанс пользователя, вы можете посмотреть на оболочку sudo.

Если вы настроите пользователя с помощью этой оболочки, у вас будет полная запись всего, что произошло, и вы можете «воспроизвести» его обратно и посмотреть, когда / если вам это нужно.

Единственный возможный недостаток этого заключается в том, что журналы могут стать очень большими, например, если они запускают такую ​​команду find /, у вас тоже будет все это записано - так что вам, вероятно, придется выбирать, какие учетные записи включить, а не делать это. во всем мире.

Что касается разрешения входа в систему для поставщиков, это, вероятно, идеально, потому что у вас есть полный контрольный журнал всего, что они сделали, все (даже возврат) записывается и сохраняется для воспроизведения.

log_outputваш вариант записи для sudoers, и sudoreplay(8)ваш плеер.

Согласно sudoersсправочной странице:

log_output: если установлено, sudo будет запускать команду в псевдотерминале и записывать все выходные данные, которые отправляются на экран, аналогично команде script (1). Если стандартный вывод или стандартная ошибка не связаны с tty пользователя из-за перенаправления ввода-вывода или из-за того, что команда является частью конвейера, этот вывод также записывается и сохраняется в отдельных файлах журнала.

В файле sudoers вы должны поместить что-то вроде этого:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

Или для групповой регистрации

Defaults:%shellusers log_output

См. Http://www.gratisoft.us/sudo/sudoers.man.html для деталей.

Ксеркс
источник
Не могли бы вы дать немного больше информации? Что именно вы подразумеваете под "оболочкой sudo"? Как бы я установить оболочку пользователя на это? Где будут сохранены журналы?
ГДж.
Я обновил свой ответ с некоторыми деталями, чтобы уточнить.
Ксеркс
2

Вы можете использовать команду сценария. Создайте строку в .login или .profile пользователя, чей сеанс ssh вы хотите отслеживать. Когда он входит в систему, сценарий / журнал генерируется из его ввода / вывода, который дает вам команды запуска и вывод этих команд. В режиме реального времени вы можете просто следить за сценарием и наблюдать за тем, что делает пользователь в режиме реального времени.

Невозможно вставить ссылку для вашего реферала, но вы можете просто гуглить по команде «скрипт», и вы получите ссылки.

Viky
источник
1

Вы можете использовать kibitz . Цитата из справочной страницы:

kibitz позволяет двум (или более) людям взаимодействовать с одной оболочкой (или любой произвольной программой).

На Fedora он включен в ожидаемый пакет.

Кристиан Чиупиту
источник
0

экран или tmux.

Совместное использование tmux немного проще.

Не сейчас
источник