paramiko

时间:2017-06-12 12:39:54

标签: python paramiko

我正在尝试使用paramiko ssh到设备并在虚拟环境中使用以下代码运行一些命令

导入paramiko 来自getpass import getpass

如果名称 ==“主要”:

hostname = raw_input("Please enter your IP address: ")
username = raw_input("Please enter your username: ")
password = getpass()

s = paramiko.SSHClient()


s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.load_system_host_keys()
s.connect(hostname= hostname, username= username, password= password)
print s  
s.command = 'dir'
(stdin, stdout, stderr) = s.exec_command(command)
for line in stdout.readlines():
    print line 
s.close()

当我尝试运行上面的代码时,我收到以下错误:

文件“param.py”,第14行,in     s.connect(hostname = hostname,username = username,password = password)   在连接文件“/users/myuser/myvirtualenv/lib/python2.7/site-packages/paramiko/client.py”,第394行     look_for_keys,gss_auth,gss_kex,gss_deleg_creds,gss_host)   在_auth中输入文件“/users/myuser/myvirtualenv/lib/python2.7/site-packages/paramiko/client.py”,第649行     提出saved_exception paramiko.ssh_exception.AuthenticationException:身份验证失败。

我可以使用putty来正常使用设备。但是当我尝试使用paramiko在python中执行此操作时,我收到身份验证异常..我真的不知道为什么。

1 个答案:

答案 0 :(得分:1)

我得到了与有效的用户名/密码输入类似的东西(例如,我可以通过sftp正常连接)。它在运行s.connect(hostname= hostname, username= username, password= password, look_for_keys=False)时对我有用,但是显然,如果同时使用密码和ssh密钥进行身份验证,那将是理想的选择。