【问题标题】:python - terminate current ssh connectionpython - 终止当前的 ssh 连接
【发布时间】:2017-05-18 23:17:23
【问题描述】:

我的机器上有一个 python 脚本。

我可以从 ssh 连接 和机器的控制台 运行它。

由于脚本更改了一些 IP 配置内容,我想在更改 IP 之前断开 ssh - 这样 ssh 不会挂起,并且会在 IP 更改之前正确关闭。

所以 - 在 python 中有没有办法检查脚本是否从 ssh 运行?如果是这样关闭ssh?

【问题讨论】:

  • 如果你知道你要连接的机器,你可以检查主机名:)
  • 如果关闭 ssh 连接,python 脚本不会停止或保留在 ssh 机器上吗?
  • 感谢您的回答。有没有办法关闭所有当前的 ssh 连接?无论我是从 ssh 还是从控制台工作。我想在更改 ip 之前终止所有 ssh 连接

标签: python ssh ip


【解决方案1】:

我没有 Linux 机器,但在 Mac 上进行了测试。如果您发出who am i 命令并看到一个IP 地址,那么您是在一个ssh 连接上。如果没有,您在控制台。此答案基于以下answer

在控制台上:

$ who am i
hai      ttys000  Dec 23 13:00

在 ssh 连接上:

$ who am i
hai      ttys001  Jan  4 07:41  (192.168.1.19)

有了这些信息,就可以从 Python 运行命令并解析输出了。

更新

另一种方法是检查环境变量 SSH_CLIENT 或 SSH_TTY 是否存在,根据此处的answer

【讨论】:

  • 感谢您的回答。有没有办法关闭所有当前的 ssh 连接?无论我是从 ssh 还是从控制台工作。我想在更改 ip 之前终止所有 ssh 连接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 2020-11-22
相关资源
最近更新 更多