问题描述
我正在尝试使用 paramiko 登录远程服务器。但它因以下错误而失败
File "/root/xat-pvt-xat/ssh.py",line 30,in check_aux_host_for_file
dsakey = paramiko.DSSKey.from_private_key(file_obj=credentials[env]["sftp_pass"])
File "/root/python3-virtualenv/lib64/python3.6/site-packages/paramiko/pkey.py",line 217,in from_private_key
key = cls(file_obj=file_obj,password=password)
File "/root/python3-virtualenv/lib64/python3.6/site-packages/paramiko/dsskey.py",line 52,in __init__
self._from_private_key(file_obj,password)
File "/root/python3-virtualenv/lib64/python3.6/site-packages/paramiko/dsskey.py",line 232,in _from_private_key
data = self._read_private_key('DSA',file_obj,password)
File "/root/python3-virtualenv/lib64/python3.6/site-packages/paramiko/pkey.py",line 272,in _read_private_key
lines = f.readlines()
AttributeError: 'str' object has no attribute 'readlines'
#实施
pr_pkey ="""
THE PRIVATE KEY
"""
dsakey = paramiko.DSSKey.from_private_key(pr_pkey)
我尝试将它放在一个 pem 文件中,并尝试使用以下命令。 dsakey = paramiko.DSSKey.from_private_key_file(open('pr_ssh_key.pem','r'))
不幸的是,由于以下错误也失败了
dsakey = paramiko.DSSKey.from_private_key_file(open('pr_ssh_key.pem','r'))
File "/root/python3-virtualenv/lib64/python3.6/site-packages/paramiko/pkey.py",line 196,in from_private_key_file
key = cls(filename=filename,line 55,in __init__
self._from_private_key_file(filename,line 228,in _from_private_key_file
data = self._read_private_key_file('DSA',filename,line 267,in _read_private_key_file
with open(filename,'r') as f:
TypeError: expected str,bytes or os.pathLike object,not _io.TextIOWrapper
如果有人能帮助我确定我的实施中缺少什么,那就太好了。提前致谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)