我正在尝试自动化 ssh 连接和网络设备的控制,由于某种原因,它只允许键盘交互式身份验证。paramiko 默认情况下或使用标准 sshclient() 对象似乎不支持此功能。
在过去的几天里,我一直在阅读 paramiko 文档试图弄清楚这一点,这是我能够开始工作的最接近的。
import paramiko
import socket
def ihandler(title,instructions,prompt_list):
return 'pass'
if __name__=="__main__":
paramiko.common.logging.basicConfig(level=paramiko.common.DEBUG)
s=socket.socket()
s.connect(('localhost',22))
t=paramiko.Transport(s)
t.set_log_channel("paramiko.transport")
t.start_client()
t.auth_password('user','pass')
t.auth_interactive ('user',ihandler)
任何帮助将不胜感激。