Python paramiko.shh invoke_shell () Установите время ожидания для пользователя в Linux и проверьте, закрыт ли сеансLinux

Ответить
Anonymous
 Python paramiko.shh invoke_shell () Установите время ожидания для пользователя в Linux и проверьте, закрыт ли сеанс

Сообщение Anonymous »

Просто небольшой вопрос о Paramiko:, как я понимаю, обычный exec_command () является просто отправителем для отправки команд на устройство, но не хранит состояние «терминала». С другой стороны, есть Invoke_shell (), в котором хранится состояние «терминала». И, например, у меня есть тайм -аут для всех пользователей на моем устройстве для активных сеансов, например, 9999, и это читается. Но я не хочу ждать 9999, поэтому я хочу изменить его на 10 секунд, просто чтобы проверить, работает ли все нормально, мои правила применяются и т. Д., Поэтому я делаю Noprofile Bash и устанавливаю эту переменную как 10 сек: Exec Bash -noprofile -norc -c "Export tmout = 10". Если я сделаю это, используя метод invoke_shell () и send (), я не уволил свою сеанс, так как через 10 секунд я делаю Recv (1024) и вижу результат, но я должен был получить Paramiko.sshexception. А вот код: < /p>
command = f'exec bash --noprofile --norc -c "export TMOUT=10;"'
noprofile_shell = connection.invoke_shell()
noprofile_shell.send(command)

time.sleep(10)

with pytest.raise(paramiko.SSHException):
noprofile_shell.send("pwd")
noprofile_shell.recv(1024)
< /code>
Я сделал что -то не так? Или есть еще какие -нибудь способы проверить это?

Подробнее здесь: https://stackoverflow.com/questions/795 ... heck-if-se
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»