GNU/Linux >> Tutoriels Linux >  >> Linux

Pour savoir quelle adresse IP a exécuté une certaine commande sous Linux en utilisant ssh

Chaque nouvel utilisateur se connectant génère un nouveau sshd session avec un PID spécifique. Vous pouvez utiliser pstree pour imprimer quelles commandes sont héritées de quelles sshd session, puis recoupez ce PID dans /var/log/auth.log .

Exemple (anonymisé) :Je me suis connecté à un serveur distant avec 3 sessions simultanées, avec le même utilisateur distant. Je veux maintenant savoir de quelle adresse IP provient le client qui a exécuté la commande watch date .

$ pstree -p | grep watch
        |           |-sshd(15243)---sshd(15342)---bash(15343)---watch(15450)
$ sudo grep 15243 /var/log/auth.log
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: Accepted publickey for XXXXXXXXXX from 12.34.56.78 port 48218 ssh2
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: pam_unix(sshd:session): session opened for user XXXXXXXXXX by (uid=0)
Mar  7 15:37:44 XXXXXXXXXX sudo: XXXXXXXXXX : TTY=pts/7 ; PWD=/home/XXXXXXXXXX ; USER=root ; COMMAND=/bin/grep 15243 /var/log/auth.log

pstree -p montre que le watch la commande est héritée de sshd avec PID 15243. grep ing pour ce PID en /var/auth/auth.log indique que c'est l'IP 12.34.56.78 qui a démarré cette session. C'est donc aussi l'utilisateur qui a démarré watch .

Quant à trouver history pour cet utilisateur en particulier, cela ne peut pas être fait d'après ce que je peux voir lorsque tous les utilisateurs distants utilisent le même utilisateur SSH local. En outre, il peut facilement être usurpé/inactivé/etc., il n'est donc pas vraiment fiable. S'il est enregistré dans le fichier d'historique, vous pouvez simplement rechercher le cp commande et regarde en arrière dans le fichier, mais s'il n'y est pas, alors il n'y a pas grand chose à faire.


Linux
  1. 10 commandes que tout utilisateur de Linux devrait connaître

  2. 3 hacks utiles que chaque utilisateur de Linux doit connaître

  3. Comment savoir quelle distribution Linux vous utilisez ?

  4. Commande Linux su

  5. Autoriser l'exécution automatique de commandes en tant que root sous Linux à l'aide de SSH

Comment savoir si un utilisateur utilise une authentification SSH basée sur un mot de passe ou une clé sous Linux

Bonnes alternatives aux pages de manuel que chaque utilisateur Linux doit connaître

Commande su sous Linux

Comment restreindre l'accès SSH à certains utilisateurs sous Linux

Utilisation de la commande Watch sous Linux

5 astuces simples pour l'historique de Bash que tout utilisateur de Linux devrait connaître