GNU/Linux >> Linux の 問題 >  >> Linux

sshを使用してLinuxで特定のコマンドを実行したIPを知るには

新しいユーザーが接続するたびに、新しい sshd が生成されます 特定の PID を持つセッション。 pstree を使用できます どの sshd からどのコマンドが継承されているかを出力します セッション、そして /var/log/auth.log でこの PID をクロスチェックします .

例 (匿名):同じリモート ユーザーで、3 つの同時セッションでリモート サーバーにログインしました。コマンド watch date を実行したクライアントがどの IP から来たかを知りたい .

$ pstree -p | grep watch
        |           |-sshd(15243)---sshd(15342)---bash(15343)---watch(15450)
$ sudo grep 15243 /var/log/auth.log
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: Accepted publickey for XXXXXXXXXX from 12.34.56.78 port 48218 ssh2
Mar  7 15:37:29 XXXXXXXXXX sshd[15243]: pam_unix(sshd:session): session opened for user XXXXXXXXXX by (uid=0)
Mar  7 15:37:44 XXXXXXXXXX sudo: XXXXXXXXXX : TTY=pts/7 ; PWD=/home/XXXXXXXXXX ; USER=root ; COMMAND=/bin/grep 15243 /var/log/auth.log

pstree -p watch であることを示しています コマンドは sshd から継承されます PID 15243 で。 grep /var/auth/auth.log でこの PID を取得します は、このセッションを開始したのが IP 12.34.56.78 であることを示しています。したがって、これは watch を開始したユーザーでもあります .

history を見つけることについて 特にこのユーザーの場合、すべてのリモート ユーザーが同じローカル SSH ユーザーを使用している場合に表示される内容からは実行できません。また、簡単になりすまし/非アクティブ化などを行うことができるため、あまり信頼できません。履歴ファイルに保存されている場合は、 cp を探すだけです


Linux
  1. すべてのLinuxユーザーが知っておくべき10個のコマンド

  2. 使用しているLinuxディストリビューションを知る方法は?

  3. Linux で SSH を使用して root として自動コマンド実行を許可する

  1. すべてのLinuxユーザーが知っておくべき3つの便利なハック

  2. コマンドラインを使用してLinuxでユーザーを削除する方法

  3. Linuxsuコマンド

  1. 12すべてのLinuxユーザーが知っておくべき便利なPHPコマンドラインの使用法

  2. 34すべてのユーザーが知っておくべき基本的なLinuxコマンド

  3. Linuxのどのコマンド