Gibt es eine Möglichkeit, meine Anmeldungen auf dem Remote-Computer zu protokollieren, wenn ich mich per SSH bei diesem Remote-Computer anmelde? Obwohl ich das nur gelegentlich gebrauchen könnte, gibt es Zeiten, in denen es ziemlich praktisch wäre (z. B. wenn ich eine Datei per SCP zurück auf meinen lokalen Computer schicke, wenn der Remote-Pfad besonders lang ist)?
Auf den betreffenden Computern läuft Ubuntu.
Antwort1
Dies kann last -a
für Sie hilfreich sein. Ihre Zugriffe werden ebenfalls protokolliert /var/log/auth.log
(allerdings per IP).
Antwort2
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:~$
Der Host kann mit folgendem Bashismus extrahiert werden:
$ echo ${SSH_CLIENT%% *}
192.168.2.198
oder mit sed, wenn Sie möchten:
$ sed -e "s/ .*$//" <<<$SSH_CLIENT
192.168.2.198
Antwort3
Versuchen Sie es who am i
, obwohl ich keine Maschine zum Testen habe. Ich verwende dies häufig, um DISPLAY einzustellen.