我如何从远程机器上查找/记录我通过 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:~$

可以使用以下 bashism 提取主机:

$ echo ${SSH_CLIENT%% *}
192.168.2.198

或者如果你愿意的话,使用 sed:

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

答案3

尝试who am i一下,虽然我没有机器可以测试。我经常用它设置显示。

相关内容