リモート マシンから SSH 接続したマシンの IP を見つけたり記録したりするにはどうすればよいでしょうか?

リモート マシンから SSH 接続したマシンの IP を見つけたり記録したりするにはどうすればよいでしょうか?

リモート マシンに SSH 接続したときに、リモート マシンのログインをログに記録する方法はありますか? たまにしか使用しませんが、非常に便利な場合もあります (たとえば、リモート パスが特に長い場合に、ファイルをローカル マシンに scp で戻す場合など)。

問題のマシンは Ubuntu を実行しています。

答え1

これは役に立つかもしれませんlast -a。あなたのアクセスもログインされます/var/log/auth.log(ただし IP による)。

答え2

whitequark@hagalaz:~$ ssh dagaz
Linux dagaz 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686
<skip>
whitequark@dagaz:~$ env | grep SSH
SSH_CLIENT=192.168.2.198 38427 22
SSH_TTY=/dev/pts/1
SSH_AUTH_SOCK=/tmp/ssh-omfqnn7365/agent.7365
SSH_CONNECTION=192.168.2.198 38427 192.168.2.10 22
whitequark@dagaz:~$

ホストは次のバシズムで抽出できます。

$ echo ${SSH_CLIENT%% *}
192.168.2.198

または、必要に応じて sed を使用します。

$ sed -e "s/ .*$//" <<<$SSH_CLIENT
192.168.2.198

答え3

who am iテストするマシンはありませんが、試してみてください。私はよくこれを DISPLAY の設定に使用します。

関連情報