5 votes

Montrer quel fichier distant écrit mon fichier

Je sais que ça a l'air drôle. J'ai écrit un Shell Shell et exécuté sur une machine distante pour revenir en ssh sur ma machine locale pour écrire quelques fichiers. J'ai exécuté le Shell sur diverses machines distantes et je ne me souviens plus où elles sont. Maintenant, je ne peux pas tuer une ou plusieurs d'entre elles parce que j'ai oublié sur quelle(s) machine(s) elles se trouvent et elles créent continuellement de nouveaux fichiers sur ma machine locale. Existe-t-il donc un moyen de voir quelle machine distante accède à mon fichier local ? J'utilise un système d'exploitation Debian et je n'ai PAS d'accès root.

EDIT : J'ai essayé de supprimer les fichiers concernés mais dès que je les supprime, de nouveaux fichiers sont créés par le script exécuté sur la ou les machines distantes. J'ai également essayé chmod 000 pour rendre le répertoire ininscriptible dans l'espoir de faire planter les scripts. Aucun d'entre eux ne fonctionne.

2voto

user185478 Points 1

Toutes les tentatives de connexion ssh devraient être enregistrées dans /var/log/auth.log, l'examen de ce fichier peut vous aider à trouver ces machines distantes.

0voto

Oliver Points 125

Vous pourriez faire

$ while true; do netstat -an | grep \:22 |  cut -b45-90 | grep -v \:22 | grep ESTABLISHED >> watch22.txt; sleep 5; done 

Ainsi, toutes les connexions du port 22 seront placées dans un fichier provenant de la boîte, qui deviendra rapidement très gros car il continuera à ajouter les mêmes connexions alors que rien ne se passe. Mais si vous l'exécutez pendant une durée assez longue, vous attraperez les coupables :

$ cat watch22.txt

146.148.41.2:44996      ESTABLISHED
10.2.1.25:52414         ESTABLISHED
146.148.41.2:44996      ESTABLISHED
10.1.1.25:52414         ESTABLISHED
146.148.41.2:44996      ESTABLISHED

Et vous pouvez filtrer cela assez facilement pour obtenir une liste d'adresses IP uniques :

$ cat watch22.txt | cut -d\: -f1 | sort -u
10.1.1.25
146.178.41.2

0voto

LittleStacy Points 1

Je voudrais recommander l'utilitaire simple whowatch. Il vous montrera les utilisateurs connectés au système (sur lequel il est exécuté). A partir de là, vous pouvez sélectionner l'utilisateur (qui dira "sshd" si vous utilisez ssh) et tuer/interrompre le processus principal dans l'arbre (déconnecter la session) - mais cela nécessite root.

Avec whowatch cependant, vous pourrez facilement voir qui est connecté à qui et utilise quoi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X