2010-02-12 96 views
2

我试图自动化一个网络设备的ssh连接和控制,由于某种原因,只允许键盘交互式身份验证。它似乎没有paramiko支持默认或标准的sshclient()对象。如何模仿与paramiko的键盘交互式ssh登录?

我已经花了几天的时间阅读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) 

任何帮助将不胜感激。

+0

这可能是你在找什么:http://stackoverflow.com/questions/1911690/nested-ssh-session-with-paramiko/1916877#1916877 – jathanism 2010-02-13 07:00:21

回答