sshの最後のログイン情報を削除するにはどうすればよいですか?


14

sshを使用してサーバーにログインするたびに。プロンプトは「最後のログイン」情報を提供します。この情報はどこから来るのだろうと思っていました。このレコードを削除して、他の誰かが同じサーバーにログインしたときに、そのIPにログイン情報が表示されるようにするにはどうすればよいですか?

どうすればこれを行うことができますか?記録のために、私は誰かのコンピューターをハッキングせず、サーバーはUbuntu 12.04を実行しています。

編集:どのファイルがこの種の情報を記録しますか?ファイルが見つかったら、ルートとして何でもできます。

ありがとう。


Ubuntu 11.04!= Ubuntu 12.04。
CVn

この情報は、を実行して要求することもできlast $USERます。
ヤープEldering

@MichaelKjörlingどういう意味ですか?
グニジューズ

!=一般的に「と等しくない」と読みます。Ubuntu 12.04質問のテキストに書いたが、ubuntu-11.04タグを使用した。2つは同等ではないため、どちらか一方が間違っている必要があります。
CVn

@MichaelKjörling申し訳ありませんが、タグが間違っていることに気付きませんでした。ありがとう!
グニジューズ

回答:


7

/ var / log / lastlogに加えて、/var/runおよびには3つのファイルがあり/var/logます:utmpwtmpおよびbtmp、現在のログインに関する情報(および追加情報)、履歴および失敗したログインを保持します。詳細については、http://en.wikipedia.org/wiki/Utmpを参照してください。通常のエディターでファイルを編集することはできませんが、消去することはできます。


2
これは適切な答えではありません。
vemv

43

Ubuntuでは、にあります/etc/ssh/sshd_config

次の行を見つけます。

PrintLastLog yes

に変更します

PrintLastLog no (または、存在しない場合は追加)


3
忘れないでください、次のコマンドでsshを再起動する必要があります: service ssh restart これはすべてroot / sudoで行う必要があります
キャメロンアジズ

ありがとう、しかし、私はもっと情報を持っているファイルを見つけたいです。
グニジューズ

ああ、申し訳ありませんが、オットはこれを手に入れたようです。
キャメロンアジズ

:私はあなたの問題は、以下のファイルを削除することによって解決されると信じて/var/log/wtmp/var/log/btmp、おそらく/var/log/utmp/var/logユーザーログオンデータ(など/var/log/wtmp.1)を持つ他のファイルがある可能性があるため、それらも消去する必要があります
キャメロンアジズ

謝る必要はありませんよ。あなたの助けに感謝します
〜-グニジューズ

4

utmpは通常、/ var / logではなく、/ var / runにあります。wtmpとbtmpは/ var / logにあります。

これら3つのファイルに書き込むプログラムはsshだけではありません。誰かが提案したように、それらを削除すると、多くのプログラムが壊れます。彼らはそこにいると期待されています。Cameron Azizが提案したように、/ etc / ssh / sshd_configファイルを変更します。

シェル内のプロセスはあなただけではありません。シングルタスクオペレーティングシステムを使用していません。真のネットワークオペレーティングシステムでの作業に慣れることは、メインフレームを使用して計算を学習することで、私がこれまでに経験した中で最も困難な精神的変化の1つでした。実際には、これは、システムで何をするかを正確に知っていない限り、ファイルを削除しないでください。

いくつかのファイルがどれだけ広く使用されているかを知るために、lsofを見て、試してみてください。lsofでさえ、ファイルを現在使用しているプロセスを通知するだけで、履歴データは提供しませんので、注意してください。


1

PrintLastLog構成キーワードは、/ var / log / lastlogファイルから情報を取得します

コマンドlastlogを使用して、コマンドラインでこの情報を表示できます。


1

GNUおよびBSD(Mac OS X)で動作する代替手段を次に示します。また、ほとんどの設定がデフォルトでコメントアウトされているという事実を説明しています-とにかくエルキャピタンにあります):

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.