我的FTP连接有很多问题。我使用的服务器不支持TLS,就像以前的服务器一样。相反,它使用SSH和Ed25519。在
第1步
我试图用PUTTY登录FTP。然后我弹出一个带有指纹的弹出窗口,点击“是”并从Windows注册表复制粘贴了“hostkey”数据。在
第2步
我已经硬编码了。在
错误
第一个trown错误是Incorrect padding
,即使hostkey可以被3整除。我粘贴的hostkey中的字符数是132。很容易联系上ftplib.FTP\TLS. 在
我需要什么
如果我的代码是正确的,请尝试使用我的代码。我在下面附上我的代码。差不多两天后我就放弃了。我找不到任何使用ed25519键记录日志的示例。在
编码
import pysftp as sftp
import paramiko
from base64 import decodebytes
myHostname = ""
myUsername = ""
myPassword = ""
key = b'0x2994....,0xe4fb.....'
print(len(key), len(key)%4, len(key)%3)
key = paramiko.ed25519key.Ed25519Key(data=decodebytes(key).hex())
cnopts = sftp.CnOpts()
cnopts.hostkeys.add(myHostname, 'ssh-ed25519', key)
print('TYPE CNOPTS', cnopts, type(cnopts), cnopts.__dict__['hostkeys'].__dict__)
def ftp_connect():
try:
ftp = sftp.Connection(host=myHostname, username=myUsername, password=myPassword, cnopts=cnopts)
except Exception as ex:
print('CONN EX', ex)
else:
return ftp
ftp_connect()
目前没有回答
相关问题 更多 >
编程相关推荐