标签: python ssh ip
我在机器上有一个python脚本。
我可以从 ssh连接和机器的控制台运行它。
因为脚本更改了一些IP配置,我想在更改IP之前断开ssh - 这样ssh就不会挂起,并且会在IP更改之前正确关闭。
所以 - 有没有办法在python中检查脚本是否是从ssh运行的?如果是这样关闭ssh?
答案 0 :(得分:0)
我没有Linux机器,但在Mac上测试过。如果您发出who am i命令并查看IP地址,则表示您正在使用ssh连接。如果没有,你就在控制台。此答案基于以下answer。
who am i
在控制台上:
$ who am i hai ttys000 Dec 23 13:00
在ssh连接上:
$ who am i hai ttys001 Jan 4 07:41 (192.168.1.19)
有了这些信息,就需要从Python运行命令并解析输出。
另一种方法是根据此处的answer检查是否存在环境变量SSH_CLIENT或SSH_TTY。