如何在我的Python脚本中判断用户是否通过SSH连接到本地机器?

1 投票
3 回答
595 浏览
提问于 2025-04-16 02:56

我怎么知道用户是否通过ssh连接到本地机器,在我的Python脚本中?

3 个回答

0

我可以理解你是在某种UNIX/Linux系统上运行你的脚本吗?如果是的话,你只需要在命令行输入“users”,就能看到当前登录的用户。

另外,如果你输入“lastlog”这个命令,它会显示系统上所有用户的信息,以及他们最后一次登录机器的时间。

0

查看一下SSH相关的几个变量,比如SSH_CONNECTION、SSH_CLIENT或者SSH_TTY。不过要注意,这些变量可能会被用户清空。

你可以用命令“who am i”来检查一下。这个命令的输出如果你是远程连接的,最后会有一个括号里的远程系统标识。记得处理一下x-term会话,因为它的远程系统标识中会有一个冒号(:)。

6

你可以使用 os 模块来检查环境变量 SSH_CONNECTION 是否存在。

>>> import os
>>> using_ssh = 'SSH_CONNECTION' in os.environ

撰写回答