如何知道用户是否通过我的python脚本中的ssh连接到本地机器?
答
您可以使用os
模块检查是否存在环境变量SSH_CONNECTION
。
>>> import os
>>> using_ssh = 'SSH_CONNECTION' in os.environ
答
我是否正确地假设您在某种UNIX/Linux系统上运行脚本?如果是这样,你可以在命令行中输入“users”,它会显示当前登录的用户。另外,如果您调用“lastlog”命令,该命令将向您显示系统上的所有用户以及上次登录机器的所有用户。
答
检查任何SSH变量SSH_CONNECTION,SSH_CLIENT或SSH_TTY。但是,这些可以由用户解除。
检查我是谁的输出。如果远程连接,它将以括号中的远程系统标识结束。确保处理在远程系统ID中冒号(:)的x-term会话。
“'''os.environ'中的SSH_CONNECTION'”已经是布尔型的,不需要过度复杂化,你可以在os.environ中写''using_ssh ='SSH_CONNECTION'“。 – 2010-08-18 00:28:32
谢谢!编辑代码。 – Andrew 2010-08-18 00:30:59
好的,在编辑之后,我删除了我的答案并向上投票:) – 2010-08-18 02:44:27