Python Fabric运行命令返回“ binascii.Error:不正确的填充”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python Fabric运行命令返回“ binascii.Error:不正确的填充”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2185字,纯文字阅读大概需要4分钟。
内容图文
![Python Fabric运行命令返回“ binascii.Error:不正确的填充”](/upload/InfoBanner/zyjiaocheng/696/db57dd3d2d0f4c5c91d07937fed211c4.jpg)
我正在尝试使用以下脚本通过结构连接以连接到Amazon EC2.但是我遇到了一个不确定如何解决的问题.
import os
from fabric.api import run, env, local, cd
WORK = os.getenv('HOME') + '/Work/myproject/'
env.user = 'ubuntu'
env.hosts = [
'128.248.268.288'
]
env.key_filename = [
'%s/aws/myproject.pem' % WORK
]
def deploy():
print("Executing on %(host)s as %(user)s" % env)
with cd('/sites/myproject.com/code/'):
run('ls')
这是回溯.我不确定如何解决问题.
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/fabric/main.py", line 540, in main
commands[name](*args, **kwargs)
File "/Users/mickeyckm/Work/myproject/codes/giivee/fabfile.py", line 18, in deploy
run('ls')
File "/Library/Python/2.6/site-packages/fabric/network.py", line 391, in host_prompting_wrapper
return func(*args, **kwargs)
File "/Library/Python/2.6/site-packages/fabric/operations.py", line 422, in run
channel = connections[env.host_string]._transport.open_session()
File "/Library/Python/2.6/site-packages/fabric/network.py", line 65, in __getitem__
self[real_key] = connect(user, host, port)
File "/Library/Python/2.6/site-packages/fabric/network.py", line 140, in connect
client.load_system_host_keys()
File "/Library/Python/2.6/site-packages/paramiko/client.py", line 151, in load_system_host_keys
self._system_host_keys.load(filename)
File "/Library/Python/2.6/site-packages/paramiko/hostkeys.py", line 155, in load
e = HostKeyEntry.from_line(line)
File "/Library/Python/2.6/site-packages/paramiko/hostkeys.py", line 67, in from_line
key = RSAKey(data=base64.decodestring(key))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/base64.py", line 321, in decodestring
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
任何帮助/提示将不胜感激.
干杯,
米奇
解决方法:
我看到一些地方,binascii模块导致了不正确的填充错误,这主要是当您传递的字符串中包含一些多余的空格字符时.
>>> import binascii
>>> binascii.a2b_base64('a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
binascii.Error: Incorrect padding
在您的情况下,它是您为env对象设置的各种属性.对您的密钥文件位置执行类似的操作,然后查看是否可行.
filelocation = os.path.join(WORK,'aws/myproject.pem')
env.key_filename = [filelocation]
内容总结
以上是互联网集市为您收集整理的Python Fabric运行命令返回“ binascii.Error:不正确的填充”全部内容,希望文章能够帮你解决Python Fabric运行命令返回“ binascii.Error:不正确的填充”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。