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


16

每当我使用ssh登录到服务器时。该提示为我提供了“上次登录”信息。我想知道这些信息从何而来。我如何删除此记录,以便当其他人登录到同一服务器时,该人会看到我的登录信息以及我的ip?

那我该怎么做呢?作为记录,我并不是在黑客某人的计算机,而是该服务器运行Ubuntu 12.04。

编辑:哪个文件记录了这种信息?如果找到该文件,则可以以root用户身份对其执行任何操作。

谢谢。


Ubuntu 11.04!= Ubuntu 12.04。
CVn 2012年

请注意,也可以通过运行来请求此信息last $USER
Jaap Eldering

@MichaelKjörling你是什么意思?
Gnijuohz

!=通常被理解为“不等于”。您Ubuntu 12.04在问题的文本中写道,但使用了ubuntu-11.04标签。两者不相等,因此一个或另一个一定是错误的。
CVn 2012年

@MichaelKjörling对不起,我没有注意到我的标签有误。谢谢!
Gnijuohz 2012年

Answers:


7

除了在/ var /日志/ lastlog中,有3个文件/var/run/var/logutmpwtmp并且btmp,关于当前登录(和其他信息),它保持信息,历史和失败的登录。有关详细说明,请参见http://en.wikipedia.org/wiki/Utmp。您不能使用普通的编辑器来编辑文件,但是可以删除它们。


2
这不是一个正确的答案。
vemv

45

在ubuntu中,它位于中/etc/ssh/sshd_config

找到显示以下内容的行:

PrintLastLog yes

并更改为

PrintLastLog no (或添加,如果不存在)


3
别忘了,您将需要使用以下命令重新启动ssh: service ssh restart 这一切都需要使用root / sudo来完成
Cameron Aziz 2012年

谢谢,但是我想查找具有更多信息的文件。
Gnijuohz 2012年

哦,对不起,好像ott收到了这个。
卡梅隆·阿齐兹

我相信您的问题将通过删除以下文件来解决:/var/log/wtmp/var/log/btmp,甚至可能是/var/log/utmp。其中可能还有其他/var/log具有用户登录数据的文件(例如/var/log/wtmp.1),因此您也必须擦除这些文件
Cameron Aziz

不必难过。你的帮助是非常赞赏〜
Gnijuohz

4

utmp通常在/ var / run中,而不在/ var / log中。wtmp和btmp在/ var / log中。

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

您不是shell中的唯一进程。您没有使用单任务操作系统。习惯于在真正的网络操作系统上工作是我有史以来最艰难的思维转变之一,在那里使用大型机和学习演算就可以了。实际上,这意味着除非您确切知道文件在系统中的作用,否则切勿删除文件。

为了弄清楚使用某些文件的广泛性,请看一下lsof并对其进行处理。即使是lsof也只能告诉您当前正在使用文件的进程,它不会提供历史数据,因此请小心。


1

PrintLastLog配置关键字从/ var / log / lastlog文件中提取信息

您可以使用命令lastlog在命令行中查看此信息。


1

这是一种适用于GNU和BSD(Mac OS X)的替代方法。它还说明了默认情况下大多数设置已被注释掉的事实-无论如何它们都位于El Capitan中):

sudo sed -i.bak "s/^#?PrintLastLog yes$/^PrintLastLog no$/" /etc/ssh/sshd_config

没有-i.bak更改,我不断得到:

sed: 1: "/etc/ssh/sshd_config": bad flag in substitute command: 'h'

0

这是自动执行此操作的命令:

sudo sed -i "s/PrintLastLog .*/PrintLastLog no/1" /etc/ssh/sshd_config
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.