Я успешно открываю соединение s sh с paramiko.
Поскольку я хочу использовать pexpect для автоматического c взаимодействия с системой на удаленном конце, я хотел бы передать paramiko подключение к pexpect.fdpexpect.fdspawn , но эти два не совмещаются.
Paramiko дает мне файловый дескриптор, но документация явно говорит о том, что он не может использоваться для чтения или письма . Мне нужен двунаправленный файловый дескриптор для чтения и записи, но мне трудно понять, как соединить точки.
Я понимаю, почему этот кусок кода не работает, но я не не знаю, как создать то, что работает.
#!/usr/bin/env python3
import pexpect
import pexpect.fdpexpect
import paramiko
sshc = paramiko.client.SSHClient()
sshc.set_missing_host_key_policy(paramiko.AutoAddPolicy())
sshc.connect('192.0.2.1', username='redacted', password='redacted',
look_for_keys=False, allow_agent=False)
io = pexpect.fdpexpect.fdspawn(sshc.invoke_shell().fileno())
io.sendline('')