![我如何从远程机器上查找/记录我通过 SSH 登录的机器的 IP?](https://linux22.com/image/1255164/%E6%88%91%E5%A6%82%E4%BD%95%E4%BB%8E%E8%BF%9C%E7%A8%8B%E6%9C%BA%E5%99%A8%E4%B8%8A%E6%9F%A5%E6%89%BE%2F%E8%AE%B0%E5%BD%95%E6%88%91%E9%80%9A%E8%BF%87%20SSH%20%E7%99%BB%E5%BD%95%E7%9A%84%E6%9C%BA%E5%99%A8%E7%9A%84%20IP%EF%BC%9F.png)
当我通过 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
一下,虽然我没有机器可以测试。我经常用它设置显示。