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

Richard
źródło
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

Adam Gibbins
źródło
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 .

Kserkses
źródło
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.

Viky
źródło
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 .

Cristian Ciupitu
źródło
0

Używam Whowatch na moim serwerze.

apt-get install whowatch
Unkwntech
źródło
2
Dla tych, którzy chcą linku: pttk.ae.krakow.pl/~mike/#whowatch
kdmurray
0

screen lub tmux.

Udostępnianie tmux jest trochę łatwiejsze.

Nie teraz
źródło