Monitoruj przychodzącą sesję SSH w czasie rzeczywistym


21

Czy istnieje oprogramowanie linux do monitorowania przychodzącej sesji ssh. W poprzedniej pracy powiedziano mi, że jeśli kiedykolwiek potrzebujesz wsparcia od Red Hat, możesz mieć SSH na swoim komputerze i możesz obserwować, co robią.

Jestem w podobnej sytuacji, w której chcę ssh do mojego komputera znajomych, aby mu pomóc, ale chcę, aby mógł obserwować to, co robię w celach edukacyjnych i upewnić się, że nie robię niczego złośliwego.

Jakieś sugestie?

Dzięki


na tej stronie pojawiła się reklama ObserveIT i są one wystarczająco dobrym rozwiązaniem, aby wypróbować coś, czego chciał SaaSish.
kagali-san

Odpowiedzi:


15

GNU Screen ma tę zdolność, możesz pozwolić konkretnemu użytkownikowi powłoki działać tylko poprzez ekran.

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


1
Jedynym problemem związanym z ekranem jest to, że będą musieli rozpocząć sesję ekranu po zalogowaniu, aby zobaczyć sesję. Również jako technik, który zapewnił zdalne wsparcie i to zrobił, nie możesz monitorować wszystkich okien ekranu jednocześnie, aby nadal mogli uruchamiać polecenia na innym ekranie i ukrywać je.
Citizen Kepler

3

Myślę, że ekran jest tym, czego szukasz, ale jeśli nie chcesz siedzieć i oglądać wideo sesji użytkownika, możesz spojrzeć na powłokę sudo.

Jeśli ustawisz tego użytkownika jako jego powłokę, możesz mieć pełne nagranie wszystkiego, co się wydarzyło, możesz „odtworzyć” go ponownie i obejrzeć, kiedy / jeśli zajdzie taka potrzeba.

Jedynym możliwym minusem tego jest to, że dzienniki mogą bardzo się rozrosnąć, na przykład jeśli uruchomią takie polecenie find /, będziesz też mieć wszystko to zarejestrowane - więc prawdopodobnie będziesz musiał wybrać konta, aby je włączyć, zamiast robić to globalnie

Jeśli chodzi o umożliwienie dostawcom dostępu do logowania, jest to prawdopodobnie idealne, ponieważ masz pełną ścieżkę audytu wszystkiego, co zrobili, wszystko (nawet backspace) jest rejestrowane i przechowywane do odtworzenia.

log_outputjest twoją opcją nagrywania dla sudoers i sudoreplay(8)jest twoim odtwarzaczem.

Jak na sudoersstronie podręcznika :

log_output: Jeśli jest ustawiony, sudo uruchomi polecenie w pseudo tty i zarejestruje wszystkie dane wyjściowe wysyłane na ekran, podobnie jak polecenie script (1). Jeśli standardowe wyjście lub standardowy błąd nie jest podłączony do tty użytkownika, z powodu przekierowania we / wy lub ponieważ polecenie jest częścią potoku, dane wyjściowe są również przechwytywane i przechowywane w osobnych plikach dziennika.

W pliku sudoers umieściłbyś coś takiego:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

Lub do rejestrowania grupowego

Defaults:%shellusers log_output

Szczegółowe informacje można znaleźć na stronie http://www.gratisoft.us/sudo/sudoers.man.html .


Czy możesz podać trochę więcej informacji? Co dokładnie rozumiesz przez „sudo shell”? Jak ustawić na to powłokę użytkownika? Gdzie zostaną zapisane dzienniki?
GJ.

Zaktualizowałem swoją odpowiedź kilkoma szczegółami, aby wyjaśnić.
Kserkses


2

Możesz użyć polecenia skryptu. Zbuduj linię w .login lub .profile użytkownika, którego sesję ssh chcesz monitorować. Kiedy się zaloguje, skrypt / log jest generowany z jego I / O, co daje polecenie uruchomienia i wynik tych poleceń. W czasie rzeczywistym możesz po prostu dostosować skrypt i obserwować, co użytkownik robi w czasie rzeczywistym.

Nie można wkleić linku do Twojej referencji, ale możesz po prostu google w poleceniu „skrypt”, a otrzymasz referencje.


1

Możesz użyć kibitza . Cytowanie ze strony man:

kibitz pozwala dwóm (lub więcej) osobom na interakcję z jedną powłoką (lub dowolnym dowolnym programem).

W Fedorze jest on zawarty w pakiecie expect .



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.