Есть ли способ, которым я могу регистрировать свои входы на удаленной машине, когда я подключаюсь к ней по 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.