如何知道用户是否通过我的python脚本中的ssh连接到本地机器?

如何知道用户是否通过我的python脚本中的ssh连接到本地机器?

问题描述:

如何知道用户是否通过我的python脚本中的ssh连接到本地机器?如何知道用户是否通过我的python脚本中的ssh连接到本地机器?

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

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

“'''os.environ'中的SSH_CONNECTION'”已经是布尔型的,不需要过度复杂化,你可以在os.environ中写''using_ssh ='SSH_CONNECTION'“。 – 2010-08-18 00:28:32

+0

谢谢!编辑代码。 – Andrew 2010-08-18 00:30:59

+1

好的,在编辑之后,我删除了我的答案并向上投票:) – 2010-08-18 02:44:27

我是否正确地假设您在某种UNIX/Linux系统上运行脚本?如果是这样,你可以在命令行中输入“users”,它会显示当前登录的用户。另外,如果您调用“lastlog”命令,该命令将向您显示系统上的所有用户以及上次登录机器的所有用户。

检查任何SSH变量SSH_CONNECTION,SSH_CLIENT或SSH_TTY。但是,这些可以由用户解除。

检查我是谁的输出。如果远程连接,它将以括号中的远程系统标识结束。确保处理在远程系统ID中冒号(:)的x-term会话。