Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2385032
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: Python/Ruby

2015-12-15 13:21:48


Python 中的 paramiko模块是一个非常方便好用的连接远端 ssh 通道的方法。使用起来也很方便:
  1. import paramiko
  2. ssh = paramiko.SSHClient()
  3. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  4. ssh.connect('localhost',username=name,password=pw)

实践中,遇到一些异常,奇怪的是,同样的代码,某些服务器上面是好的,而某些服务器上面是坏的。
  1. File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 337, in connect
  2.     self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
  3.   File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 528, in _auth
  4.     raise saved_exception
  5. AuthenticationException: Authentication failed.

  6.   File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 337, in connect
  7.     self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
  8.   File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 528, in _auth
  9.     raise saved_exception
  10. paramiko.SSHException: No existing session

最终找到的解决方法很简单,在connect 的时候加入参数 allow_agentlook_for_keys 就可以了。

  1. ssh.connect('localhost',username=name,password=pw,allow_agent=False,look_for_keys=False)
阅读(27912) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~