我如何删除 ssh 上次登录信息?

我如何删除 ssh 上次登录信息?

每当我使用 ssh 登录服务器时,提示都会显示“上次登录”信息。我想知道这些信息来自哪里。我如何删除此记录,以便当其他人登录同一台服务器时,该人会看到我的登录信息以及我的 IP?

那么我该怎么做呢?需要说明的是,我没有入侵某人的计算机,并且服务器运行的是 Ubuntu 12.04。

编辑:哪个文件记录此类信息?如果我找到该文件,那么我就可以以 root 身份对其进行任何操作。

谢谢。

答案1

除了 /var/log/lastlog 之外,还有 3 个文件/var/run/var/logutmpwtmpbtmp它们保存有关当前登录(和其他信息)、历史登录和失败登录的信息。请参阅http://en.wikipedia.org/wiki/Utmp了解详细说明。您无法使用普通编辑器编辑这些文件,但可以删除它们。

答案2

在 Debian 和 Ubuntu 中,它位于/etc/ssh/sshd_config

找到以下行:

#PrintLastLog yes

并将其更改为:

PrintLastLog no

(如果不存在则添加。)

不要忘记重新启动 ssh 守护进程:

service ssh restart

答案3

utmp 通常位于 /var/run 中,而不是 /var/log 中。wtmp 和 btmp 位于 /var/log 中。

ssh 并不是唯一一个写入这三个文件的程序。如果你像某些人建议的那样删除它们,那么你将破坏很多程序。它们应该在那里。按照 Cameron Aziz 的建议,更改 /etc/ssh/sshd_config 文件。

您不是 shell 中唯一的进程。您使用的不是单任务操作系统。习惯于在真正的网络操作系统上工作是我经历过的最艰难的思维转变之一,就像使用大型机和学习微积分一样。从实际角度来说,这意味着除非您确切知道文件在系统中的作用,否则您永远不应该删除它。

为了了解某些文件的使用范围有多广,请查看 lsof 并试用一下。即使 lsof 只告诉您当前正在使用您的文件的进程,它也不会提供历史数据,因此请小心。

答案4

如果只打印了“上次登录”信息,那么您也可以尝试 hushlogin。这将隐藏登录期间的所有信息,并且每个用户都可以控制。

touch $HOME/.hushlogin

您可以参考登录手册页了解更多信息。

相关内容