我已经用 Google 搜索了尽可能多的信息,但针对 OS X,我找不到答案。没什么问题,但好奇心很高。
$ssh [email protected]
Password:
Last login: Wed Apr 7 21:28:03 2010 from my-laptop.local
^lonely tylenol^
- 第 1 行是我的命令
- 第 2 行是要求输入密码的 shell
- 我的问题来自第 3 行
- 第 4 行来自 /etc/motd
我在 .bash* 文件的 ~/ 中找不到任何包含字符串“Last Login”的内容,我想修改它。它会执行某种类型的主机名查找,但我无法确定。
如果我 ssh 到另一台主机:
$ssh [email protected]
Last login: Wed Apr 7 21:14:51 2010 from 123-234-321-123-some.cal.isp.net.example
hi there, you are on box 456
- 第 1 行是我的命令
- 第 2 行再次是我的问题的来源
- 第 3 行来自 /etc/motd
*带破折号的 IP 地址是不是反转
在此远程主机上,我已经设置了 ~/.ssh 及其相应的密钥,因此无需输入密码
“上次登录:”来自哪里,日期戳来自哪里,最重要的是,主机名来自哪里?
在[电子邮件保护](盒子 456)$echo hostname
remote.location.example456.com
或者使用 dig,以确保我已经设置了 rDNS/PTR,对此我没有权威,但我的 ISP 已正确设置...
$dig -x 123.234.321.123 PTR remote.location.example456.com
或者
$dig PTR 123.321.234.123.in-addr.arpa. +short
remote.location.example456.com.
我以前hostname
使用的地址是 123-234-321-123-some.cal.isp.net.example,我将其设置为hostname -s remote.location.example456.com
,因为看到这么长的名字很讨厌。这解决了 $echo 的值,hostname
现在它返回 remote.location.example456.com。
Mac OS X 10.6 似乎确实遵守:
touch ~/.hushlogin
如果将该文件留空,则登录时 shell 上将什么也得不到。我想知道是什么控制着 IP 的主机解析,以及这一切是如何工作的。例如,运行last
报告会列出我的登录名的大量列表,这些登录名的主机名非常长,而它们最好只是 remote.location.example456.com。
wtmp
更让我困惑的是,阅读和的手册页lastlog
,似乎 lastlog 在 OS X 上没有使用,/var/log/lastlog 不存在。实际上,在 10.5 或 10.6 上都不存在这些:
/var/run/utmp The utmp file.
/var/log/wtmp The wtmp file.
/var/log/lastlog The lastlog file.
如果我假设系统正在进行某种反向查找,我当然不知道它是什么,因为它并不准确。
答案1
我的 10.6 机器上的手册页将我指向 asl(3)、utmpx(5) 和 endutxent(3)。似乎现代 Mac OS X 在 Apple SysLog (asl) 数据库文件 /var/log/asl/* 中记录了类似 utmp/wtmp/lastlog 的信息。
看来,当这些主机被命名为长主机名时,那些让您烦恼的长主机名就记录在数据库中了,除非您修剪或编辑 asl 数据库,否则无法摆脱它们。
答案2
从man sshd_config
:
PrintLastLog
Specifies whether sshd(8) should print the date and time of the
last user login when a user logs in interactively. The default
is ``yes''.
这至少解释了为什么你会看到该消息。
关于主机名解析 - 它将使用系统解析器库,这可能会返回与 dig 不同的结果。特别是,如果您在本地(即远程计算机的本地)/etc/hosts 文件中有一个条目,则将首先检查该条目(可能取决于解析器的配置方式)。如果远程计算机正在使用本地(对它而言)名称服务器,该名称服务器提供的结果与公共结果不同(例如,您的 ISP 在内部提供一组 PTR 记录,在外部提供另一组 PTR 记录),这也可以解释差异。