4 votes

Ssh, "Dernière connexion", 'dernière' et OS X

J'ai fait des recherches sur Google autant que possible sur cela, étant spécifique à OS X, je ne trouve pas de réponse. Rien ne cloche, mais ma curiosité est élevée.

$ssh foobar@lan-connection.local
Mot de passe :
Dernière connexion : mer  7 avr 21:28:03 2010 depuis my-laptop.local
^solitaire tylenol^
  • La ligne 1 est ma commande
  • La ligne 2 est le shell demandant le mot de passe
  • La ligne 3 est d'où vient ma question
  • La ligne 4 provient de /etc/motd

Je ne trouve rien dans ~/ d'aucun des fichiers .bash* qui contient la chaîne "Last Login", et j'aimerais la modifier. Il effectue une sorte de recherche d'hôte, que je ne peux pas déterminer.

Si je me connecte en ssh à un autre hôte :

$ssh remote-host@remote.location456.example.com
Dernière connexion : mer  7 avr 21:14:51 2010 depuis 123-234-321-123-some.cal.isp.net.example
salut, vous êtes sur la boîte 456
  • La ligne 1 est ma commande
  • La ligne 2 est encore une fois, d'où vient ma question
  • La ligne 3 provient de /etc/motd

*L'adresse IP en tiret n'est pas inversée

Sur cet hôte distant, j'ai ~/.ssh et ses clés correspondantes configurées, donc il n'y avait pas de demande de mot de passe

D'où vient "Dernière connexion :", d'où vient le horodatage et, plus important encore, d'où vient le nom d'hôte?

Pendant que je suis sur remote-host@remote.location.example.com (boîte 456) $echo hostname remote.location.example456.com

Ou avec dig, pour m'assurer que j'ai bien une configuration rDNS/PTR, pour laquelle je ne suis pas autoritaire, mais mon FAI l'a correctement configurée...

$dig -x 123.234.321.123  PTR   remote.location.example456.com

ou

$dig PTR 123.321.234.123.in-addr.arpa. +abréviation
remote.location.example456.com.

mon précédent hostname était 123-234-321-123-some.cal.isp.net.example, que j'ai défini avec hostname -s remote.location.example456.com, car c'était désagréable de voir un nom si long. Cela résout la valeur de $echo hostname qui renvoie désormais remote.location.example456.com.

Mac OS X, 10.6 dans ce cas, semble honorer :

touch ~/.hushlogin

Si je laisse ce fichier vide, je n'obtiens rien dans le shell lorsque je me connecte. Je veux savoir ce qui contrôle la résolution de l'hôte de l'IP, et comment tout cela fonctionne. Par exemple, en exécutant last rapporte une longue liste de mes connexions, avec des noms d'hôtes obsolets, alors qu'il serait préférable qu'ils soient simplement remote.location.example456.com.

Encore plus déroutant pour moi, en lisant la page de manuel de wtmp et de lastlog, on dirait que lastlog n'est pas utilisé sur OS X, /var/log/lastlog n'existe pas. En fait, aucun de ces fichiers n'existe sur 10.5 ou 10.6 :

 /var/run/utmp     Le fichier utmp.
 /var/log/wtmp     Le fichier wtmp.
 /var/log/lastlog  Le fichier lastlog.

Si je dois supposer que le système effectue une sorte de recherche inversée, je ne sais certainement pas de quoi il s'agit, car ce n'est pas exact.

3voto

halr9000 Points 255

De man sshd_config:

 PrintLastLog
         Spécifie si sshd(8) doit imprimer la date et l'heure de la
         dernière connexion de l'utilisateur lorsqu'un utilisateur se connecte de manière interactive.  La valeur par défaut
         est "oui".

Cela explique au moins pourquoi vous voyez ce message.

par rapport à la résolution du nom d'hôte - elle utilisera la bibliothèque de résolution système, qui peut renvoyer des résultats différents de dig. En particulier, si vous avez une entrée dans votre fichier /etc/hosts local (c'est-à-dire local à la machine distante), cela sera probablement vérifié en premier (selon la configuration du résolveur). Si la machine distante utilise un serveur de noms local qui renvoie un résultat différent de celui public (par exemple, votre fournisseur d'accès Internet fournit un ensemble de registres PTR en interne et un autre ensemble de manière externe), cela pourrait également expliquer la disparité.

2voto

Spiff Points 95683

Les pages de manuel sur ma machine 10.6 me dirigent vers asl(3), utmpx(5) et endutxent(3). Il semble que les informations similaires à utmp/wtmp/lastlog dans Mac OS X moderne sont enregistrées dans les fichiers de base de données Apple SysLog (asl) dans /var/log/asl/*.

Il semble que les longs noms d'hôte qui vous dérangent ont été enregistrés dans cette base de données à l'époque où ces hôtes étaient nommés ainsi, et vous ne pouvez pas vous en débarrasser à moins de tailler ou modifier votre base de données asl.

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