我的问题很简单:如何通过 utmp 获取客户端主机 IP(我是谁)?
嗯。几周前,为了从我的笔记本电脑连接到远程服务器,我使用了这样的命令:
ssh username@remotehost
使用 utmp 检索笔记本电脑的 IP 没有任何问题。我在远程使用了 python 及其 pyutmp 库,效果很好。
但今天我必须使用另一个命令:
ssh -A -t username@proxyhost ssh -A username@remotehost
如果我在远程主机上使用 utmp,它将返回代理主机 IP。但我需要获取笔记本电脑的 IP。
我怎样才能实现这个目标?
答案1
ssh -A -t username@proxyhost 'export MY_REAL_IP=$SSH_CLIENT; ssh -A username@remotehost'
你将获得与ENV$MY_REAL_IP
中相同的 IPremotehost
编辑:
抱歉,我并不是想讲得更详细。基本思想是传递变量,如何只是细节。例如,你可以尝试这样的事情:
ssh proxyhost 'ssh remotehost "export prev_ssh_client=\"$SSH_CLIENT\";env|grep prev_ssh_client"'
避免修改 ssh 配置