GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver la dernière connexion sous Linux

Si vous travaillez dans une entreprise de taille moyenne à grande, il est fort probable que vous travailliez avec de nombreux autres administrateurs système.

Pendant que vous effectuez vos tâches d'administrateur système, certains utilisateurs peuvent essayer de se connecter à votre serveur afin d'effectuer leurs tâches quotidiennes.

Cependant, dans certains cas, vous pouvez constater que quelque chose a changé sur votre serveur. Par conséquent, vous vous demandez qui a effectué le changement .

Heureusement pour vous, il existe de nombreuses façons de trouver qui s'est connecté en dernier sur votre serveur.

Dans ce tutoriel, vous découvrirez les différentes commandes utiles que vous pouvez utiliser pour vérifier les dernières connexions sur votre ordinateur.

Rechercher la dernière connexion en utilisant last

Le moyen le plus simple de trouver la dernière connexion sur votre ordinateur Linux est d'exécuter la commande "last" sans options. À l'aide de cette commande, toutes les dernières connexions effectuées sur l'ordinateur vous seront présentées.

$ last

# To check the last ten login attempts, you can pipe it with "head"

$ last | head -n 10

Comme vous pouvez le voir, par défaut, la sortie est tronquée :l'utilisateur "devconnected" n'est affiché que comme "devconne" en utilisant simplement la dernière commande.

Si vous trouvez les dernières connexions à l'aide de noms d'utilisateur et noms d'hôte complets , vous devez ajouter le "-w " ou "–noms complets ".

$ last -w

$ last --fullnames

Colonnes de la dernière commande

Lorsque vous regardez la dernière commande, la sortie peut être un peu déroutante. Il existe de nombreuses colonnes, mais nous ne savons pas exactement à quoi elles correspondent.

Tout d'abord, il y a une différence entre la connexion de l'utilisateur et les redémarrages.

Comme vous pouvez le voir, les connexions des utilisateurs commencent par le nom de l'utilisateur qui s'est connecté à l'ordinateur . D'un autre côté, les journaux "reboot" commencent évidemment par le mot-clé "reboot" .

Colonnes de connexion utilisateur

Pour les journaux des utilisateurs , la signification des différentes colonnes est la suivante :

  • Nom d'utilisateur :le nom d'utilisateur qui s'est connecté à l'ordinateur ;
  • ATS :l'index du TTY utilisé par l'utilisateur pour se connecter à l'ordinateur. ":0" indique que la connexion est locale et vous pouvez utiliser la commande "tty" afin de trouver l'appareil utilisé par l'utilisateur ;
$ tty
  • Le nom de l'affichage :comme X est utilisé comme serveur d'affichage sur chaque machine, il peut utiliser un affichage local (:0, :1 et ainsi de suite) ou un affichage distant. Si vous souhaitez exécuter des applications graphiques à distance, vous pouvez lire notre guide sur le protocole X ;
  • Heure de la connexion :démarrer le serveur est assez différent de s'y connecter. Cette heure représente l'heure à laquelle le mot de passe a été effectivement fourni dans l'interface;
  • Statut de connexion :soit vous êtes "toujours connecté" ou "down" avec la durée de la session.

Par exemple, dans l'exemple suivant, la durée de la session était de douze minutes.

Colonnes de pseudo redémarrage

À chaque redémarrage, votre système ajoute une nouvelle ligne à la liste actuelle des redémarrages effectués sur votre ordinateur.

Ces lignes spéciales, commençant par "reboot », ont les colonnes suivantes :

  • Redémarrer :en précisant qu'il ne s'agit pas d'une connexion mais plutôt d'un redémarrage du système ;
  • Détails sur le redémarrage  :dans ce cas, il s'agissait en fait d'un "démarrage du système", ce qui signifie que le système vient de démarrer ;
  • Version du noyau :la version du noyau chargée lors du démarrage du système. Cela peut être différent si vous hébergez une version différente du noyau sur votre partition de démarrage.
  • Heure du démarrage :l'heure représente l'heure du démarrage du système. Elle est soit suivie d'une indication « toujours en cours d'exécution », soit de l'heure de fin suivie de la durée de la session entre parenthèses.

Maintenant que vous avez vu comment vous pouvez répertorier toutes les dernières connexions sur votre serveur, voyons si vous êtes intéressé par les mauvaises tentatives de connexion.

Rechercher la dernière connexion par date

Dans certains cas, vous pouvez être intéressé par les connexions effectuées depuis ou jusqu'à une date précise dans le passé, ou au cours des cinq dernières minutes.

Pour trouver la dernière connexion par date, exécutez la commande "last" avec la commande "–since" et spécifiez la date pour laquelle rechercher les dernières connexions.

De même, vous pouvez utiliser la commande « – jusqu'à » pour rechercher les tentatives de connexion effectuées jusqu'à une date donnée dans le passé.

$ last --since <date>

$ last --until <date>

Alors, quelles sont les dates que vous pouvez utiliser pour effectuer une recherche ?

Formats de date sont spécifiés dans la dernière page de documentation.

Par exemple, disons que vous voulez trouver toutes les tentatives de connexion au cours des deux derniers jours, vous exécuterez la commande suivante

$ last --since -2days

De même, si vous voulez trouver toutes les tentatives de connexion effectuées cinq jours dans le passé, vous exécuterez la commande suivante

$ last --until -5days

Comme un diagramme aide souvent plus que des mots, voici une façon de comprendre le "–puisque » et « – jusqu'à ce que ” options.

Rechercher les dernières tentatives de connexion incorrectes à l'aide de lastb

Afin de trouver les dernières mauvaises tentatives de connexion sur votre serveur Linux, vous devez utiliser le "lastb" avec les droits d'administrateur.

$ sudo lastb

Si vous ne savez pas comment vérifier ces droits, assurez-vous de lire nos guides dédiés .

Comme vous pouvez le voir, la sortie est assez similaire à celle du "dernier ” commande :le nom d'utilisateur tenté, l'appareil utilisé ainsi que l'heure de la tentative.

Dans ce cas, la durée "(00:00) " sera corrigé car une tentative de connexion n'a aucune durée.

Notez que la ligne de l'appareil peut afficher "ssh:notty" dans le cas où la tentative de connexion a été effectuée à partir d'un terminal SSH.

Inspection du fichier auth.log

Vous pouvez également inspecter le contenu du fichier "/var/log/auth.log" afin de voir toutes les tentatives infructueuses sur votre serveur.

$ tail -f -n 100 /var/log/auth.log | grep -i failed

Rechercher les dernières connexions SSH sous Linux

Afin de trouver les dernières connexions SSH effectuées sur votre machine Linux, vous pouvez simplement inspecter le contenu de "/var/log/auth.log" et le diriger avec "grep" pour trouver les journaux SSH.

$ tail -f -n 100 /var/log/auth.log | grep -i sshd

Alternativement, vous pouvez inspecter les journaux du service SSH en exécutant le "journalctl ” suivi de la commande “-u ” option pour “unité ” et le nom du service .

$ sudo journalctl -r -u ssh | grep -i failed

Remarque  :intéressé par les services de référencement et leurs statuts sur votre serveur ? Voici un guide pour répertorier vos services sur Linux.

Si vous ne voyez aucun journal lié au service SSH, cela peut être lié à votre fichier de configuration SSH, à savoir au "PrintLastLog ".

$ cat /etc/ssh/sshd_config | grep PrintLastLog

Si cette option est définie sur "Non" sur votre serveur et que vous souhaitez imprimer les derniers journaux, assurez-vous de décommenter la ligne avec la valeur "oui". N'oubliez pas de redémarrer votre serveur SSH après cela.

$ sudo nano /etc/ssh/sshd_config

PrintLastLog yes

$ sudo systemctl restart ssh

$ sudo systemctl status ssh

Génial! Vous avez appris comment trouver les derniers journaux SSH sur votre ordinateur.

Répertorier la dernière connexion de l'utilisateur sous Linux

Afin de trouver les dernières heures de connexion pour tous les utilisateurs sur votre machine Linux, vous pouvez utiliser la commande "lastlog" sans options. Par défaut, vous serez présenté avec la liste de tous les utilisateurs avec leurs dernières tentatives de connexion.

Alternativement, vous pouvez utiliser le "-u " option pour "utilisateur ” et précisez l'utilisateur que vous recherchez.

$ lastlog

$ lastlog -u <user>

Comme vous pouvez le voir, sans options, la commande renverra la liste de tous les comptes sur votre machine, même la racine et les comptes système.

Conclusion

Dans ce didacticiel, vous avez appris comment vous pouvez facilement trouver les dernières tentatives de connexion effectuées sur un ordinateur Linux.

Que ces tentatives aient été effectuées via un shell de connexion ou une session SSH, vous savez maintenant quels fichiers inspecter et quels outils utiliser pour les récupérer.

N'oubliez pas que vous pouvez inspecter ces fichiers, mais vous pouvez également les tracer sur une solution de tableau de bord telle que Kibana, voici un guide sur la façon d'y parvenir.

Si vous êtes intéressé par l'administration système Linux , nous avons une section complète qui lui est consacrée sur le site Web, alors n'hésitez pas à y jeter un coup d'œil !


Linux
  1. Comment utiliser FIND sous Linux

  2. Comment trouver un fichier sous Linux

  3. Comment trouver une version de package sous Linux

  4. Comment vérifier l'historique de connexion Linux

  5. Comment trouver des fichiers modifiés au cours des 30 derniers jours sous Linux ?

Comment trouver une chaîne dans un fichier sous Linux

Comment trouver une adresse IP sous Linux

Comment trouver les derniers utilisateurs connectés sous Linux

Comment trouver le nom d'hôte sous Linux

Comment trouver des fichiers modifiés au cours des dernières 24 heures sous Linux

Comment trouver une adresse IP sous Linux