Как я могу удалить информацию о последнем входе в систему через ssh?

15

Всякий раз, когда я захожу на сервер, используя ssh. В подсказке отображается информация о «последнем входе». Мне было интересно, откуда эта информация. Как я могу удалить эту запись, чтобы, когда кто-то еще заходил на тот же сервер, этот человек мог видеть мою регистрационную информацию с моим ip?

Так как я могу это сделать? Для справки, я не взламываю чей-то компьютер, а на сервере работает Ubuntu 12.04.

РЕДАКТИРОВАТЬ: какой файл регистрирует такую ​​информацию? Если я найду файл, я могу сделать что-нибудь с ним как root.

Благодарю.

Gnijuohz
источник
Ubuntu 11.04! = Ubuntu 12.04.
CVn
Обратите внимание, что эту информацию также можно запросить, запустив last $USER.
Яап Старейшина
@ MichaelKjörling, что ты имеешь в виду?
Gnijuohz
!=обычно читается как «не равно». Вы написали Ubuntu 12.04в тексте вопроса, но использовали ubuntu-11.04тег. Два не эквивалентны, поэтому один или другой должен быть неправильным.
CVn
@ MichaelKjörling извините, я не заметил, что мой тег был неправильным. Благодарность!
Gnijuohz

Ответы:

7

В дополнение к / вар / журнал / LASTLOG, есть 3 файлов в /var/runи /var/log: utmp, wtmpи btmp, которые держат информацию о текущих логины (и дополнительной информации), исторических и неудачных попыток входа. См. Http://en.wikipedia.org/wiki/Utmp для подробного описания. Вы не можете редактировать файлы с обычными редакторами, но можете стереть их.

ott--
источник
2
Это не правильный ответ.
VEMV
44

В Ubuntu он находится в /etc/ssh/sshd_config.

Найдите строку, которая говорит:

PrintLastLog yes

и изменить на

PrintLastLog no (или добавить, если он не существует)

Кэмерон Азиз
источник
3
не забывайте, что вам нужно будет перезапустить ssh с помощью следующей команды: service ssh restart все это нужно будет сделать с помощью root / sudo
Камерон Азиз
Спасибо, но я хочу найти файл (ы), в котором есть информация.
Gnijuohz
о, извините, похоже, что Отт получил это.
Кэмерон Азиз
Я считаю , что ваша проблема будет решена путем удаления следующих файлов: /var/log/wtmpи /var/log/btmpи , возможно /var/log/utmp. Там могут быть и другие файлы, в /var/logкоторых есть данные для входа пользователя (например, /var/log/wtmp.1), поэтому вам придется их тоже стереть
Камерон Азиз
Не надо извиняться. Ваша помощь очень ценится ~
Gnijuohz
4

Обычно utmp находится в / var / run, а не / var / log. wtmp и btmp находятся в / var / log.

ssh - не единственная программа, которая пишет в эти три файла. Если вы удалите их, как кто-то предложил, вы сломаете много программ. Ожидается, что они будут там. Измените файл / etc / ssh / sshd_config, как предложил Кэмерон Азиз.

Вы не единственный процесс в оболочке. Вы не используете однозадачную операционную систему. Привыкнуть к работе над настоящей сетевой операционной системой было одним из самых сложных умственных сдвигов, которые я когда-либо совершал, используя мэйнфрейм и методику обучения. На практике это означает, что вы никогда не должны удалять файл, если вы точно не знаете, что он делает в системе.

Чтобы понять, насколько широко используются некоторые файлы, взгляните на lsof и поэкспериментируйте с ним. Даже lsof только говорит вам, какие процессы в настоящее время используют ваш файл, он не дает вам исторических данных, поэтому будьте осторожны.

ARTP
источник
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
Энди
источник