web-dev-qa-db-fra.com

Surveiller une session SSH entrante en temps réel

Existe-t-il un logiciel Linux pour surveiller une session SSH entrante. Lors d'un emploi précédent, on m'a dit que si vous aviez besoin d'un soutien de Red Hat, par exemple, vous pourriez leur avoir SSH dans votre machine et vous pouviez surveiller ce qu'ils faisaient.

Je suis dans une situation similaire où je veux ssh dans ma machine à mes amis pour l'aider, mais je veux qu'il puisse regarder ce que je fais à des fins éducatives et que je ne fais rien de malveillant.

Aucune suggestion?

Merci

21
Richard

L'écran GNU a cette capacité, vous pouvez autoriser un utilisateur de shell spécifique à opérer uniquement via l'écran.

https://www.linux.com/learn/tatudials/442418-utilisateur-screen-for-remote-interaction

15
Adam Gibbins

Je pense que l'écran est ce que vous êtes après, mais si vous ne voulez pas rester assis là regarder, et que vous voulez "vidéo" une session d'utilisateur, vous pouvez regarder Sudo Shell.

Si vous définissez l'utilisateur avec cela comme leur shell, vous pouvez avoir un enregistrement complet de tout ce qui s'est produit et que vous pouvez le "rejouer" en arrière et la regarder quand/si vous en avez besoin.

Le seul inconvénient possible est que les journaux peuvent augmenter très volumineux, par exemple si elles exécutent une commande comme find /, Vous aurez tout ce que vous avez enregistré aussi - vous devrez donc probablement choisir quels comptes pour activer. pour plutôt que de le faire globalement.

En ce qui concerne l'accès aux fournisseurs d'accès, c'est probablement parfait, car vous avez une piste d'audit complète de tout ce qu'ils ont fait, tout (même le backspace) est enregistré et stocké pour la lecture.

log_output Est votre option d'enregistreur pour Sudoers et sudoreplay(8) est votre lecteur.

Selon la page sudoers manuel:

log_output: le cas échéant, SUDO exécutera la commande dans un pseudo tty et connecte toute sortie envoyée à l'écran, similaire à la commande Script (1). Si l'erreur standard de sortie ou de standard n'est pas connectée à la TTS de l'utilisateur, en raison de la redirection d'E/S ou parce que la commande fait partie d'un pipeline, cette sortie est également capturée et stockée dans des fichiers journaux distincts.

Dans le fichier sudoers, vous mettriez quelque chose comme ceci:

User_Alias Shell_ACCOUNTS = root,jack
Defaults: Shell_ACCOUNTS log_output

Ou pour la journalisation basée sur les groupes

Defaults:%shellusers log_output

Voir http://www.gratisoft.us/sudo/sudoers.man.html Pour plus de détails.

3
Xerxes

Vous pouvez utiliser la commande de script. Construisez une ligne dans .login ou .profile de l'utilisateur dont vous souhaitez surveiller la session SSH. Lorsqu'il se connecte dans un script/journal est généré de ses E/S qui vous donne des commandes exécutées et la sortie de ces commandes. En temps réel, vous pouvez simplement quadrer le script et regarder ce que l'utilisateur fait en temps réel.

Impossible de coller un lien pour votre référence, mais vous ne pouvez que Google sur la commande "script" et vous obtiendrez les références.

2
Viky
2
sysadmin1138

Vous pouvez utiliser Kibitz. Citant de la page de l'homme:

kibitz permet deux (ou plus) personnes d'interagir avec une coquille (ou tout programme arbitraire).

Sur Fedora, il est inclus dans le Attendez-vous Package.

1
Cristian Ciupitu

J'utilise Whatwatch sur mon serveur.

apt-get install whowatch
0
Unkwntech