Как узнать, подключен ли пользователь к локальной машине через ssh в моем python script?
Вы можете использовать модуль os
для проверки существования переменной среды SSH_CONNECTION
.
>>> import os
>>> using_ssh = 'SSH_CONNECTION' in os.environ
Правильно ли я предполагаю, что вы используете свой script в какой-то системе UNIX/Linux? Если это так, вы можете просто ввести "пользователей" в командной строке, и он покажет вам зарегистрированных пользователей.
Кроме того, если вы вызываете команду "lastlog", это покажет вам всех пользователей в системе и последний раз, когда они все вошли в систему.
Проверьте любую из SSH-переменных SSH_CONNECTION, SSH_CLIENT или SSH_TTY. Однако они могут быть отключены пользователем.
Проверьте вывод who am i. Это будет завершено удаленной идентификацией системы в скобках, если вы подключены удаленно. Обязательно выполняйте сеансы x-term, которые будут иметь двоеточие (:) в идентификаторе удаленной системы.
'SSH_CONNECTION' in os.environ
» уже является логическим значением, его не нужно слишкомusing_ssh = 'SSH_CONNECTION' in os.environ
, вы можете просто написать «using_ssh = 'SSH_CONNECTION' in os.environ
».