Відстежуйте вхідний сеанс SSH в режимі реального часу


21

Чи є програмне забезпечення linux для моніторингу вхідного сеансу ssh. На попередній роботі мені сказали, що якщо вам коли-небудь потрібна підтримка Red Hat, наприклад, ви можете запустити їх SSH у вашу машину, і ви можете спостерігати, що вони роблять.

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

Будь-які пропозиції?

Спасибі


на цій сторінці було оголошення ObserveIT, і вони є досить приємним рішенням, щоб спробувати, чи хотів щось SaaSish.
kagali-san

Відповіді:


15

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

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


1
Проблема з екраном полягає лише в тому, що їм потрібно буде запустити сеанс на екрані, як тільки вони увійдуть, щоб побачити сеанс. Крім того, як технік, який надав віддалену підтримку і зробив це, ви не можете контролювати всі вікна екрана одразу, щоб вони все одно могли запускати команди на іншому екрані та ховати його.
Громадянин Кеплер

3

Я думаю, що це те, що ти шукаєш, але якщо ти не хочеш сидіти там, дивлячись, і хочеш "відеозаписувати" сеанс користувача, ти можеш подивитися на оболонку sudo.

Якщо ви налаштуєте користувача на це як на оболонку, ви можете мати повний запис про все, що сталося, і ви можете «повторно» відтворити його назад і спостерігати, коли / якщо вам потрібно.

Єдиним можливим недоліком цього є те, що журнали можуть зростати дуже великими, наприклад, якщо вони виконують таку команду, як find /ви будете мати все те, що записано, тому вам, мабуть, доведеться вибрати, які облікові записи, щоб це ввімкнути, а не робити це глобально.

Що стосується дозволу постачальникам доступу до входу, це, мабуть, ідеально, оскільки у вас є повний аудиторський слід про все, що вони зробили, все (навіть зворотна відстань) записується та зберігається для повторного відтворення.

log_outputє вашим варіантом запису для судерів і 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 .


Не могли б ви дати трохи більше інформації? Що саме ви маєте на увазі під "оболонкою судо"? Як я встановив для цього оболонку користувача? Де б зберегти журнали?
GJ.

Я оновив свою відповідь деякими деталями для уточнення.
Ксеркс


2

Ви можете використовувати команду сценарію. Побудуйте рядок у .login або .profile користувача, чий ssh ​​сеанс ви хочете контролювати. Коли він входить у скрипт / журнал, генерується його введення / виведення, яке дає командам запуск та вихід цих команд. У режимі реального часу ви можете просто загорнути скрипт і подивитися, що користувач робить у режимі реального часу.

Неможливо вставити посилання для вашого відсилання, але ви можете просто google за командою "script", і ви отримаєте референції.


1

Можна використовувати кібіт . Цитування зі сторінки man:

kibitz дозволяє двом (або більше) людям взаємодіяти з однією оболонкою (або будь-якою довільною програмою).

У Fedora вона включена в пакет очікування .



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.