我正在尝试在 Windows 上使用 python 连接到 sftp 服务器。没有主机密钥,我无法连接到服务器。很多选项,尤其是 pysftp 要求提供显然不是在 Windows 上生成的主机密钥文件。
据我所知,我有 3 个选项:
1)【最推荐】使用字符串通过python代码生成需要的key。但这总是会产生错误——一些使用 StringIO 的代码在 Python 3 上不起作用,并且可能的解决方法似乎对我不起作用。显然我无法正确解码密钥,我不知道如何检查。我试图生成 PKey,但我不确定我做错了什么。
2) 获取 known_hosts 文件的正确格式(我不知道它应该是什么样子,并且在网上找不到任何示例) - 并在那里放置或添加主机密钥。这样我(希望)能够使用 cnopts 连接到服务器。
3)这是一个后备选项,如果上述两个不起作用:使用python调用执行工作的powershell脚本 - 我已经成功但想将参数从python脚本传递给powershell然后得到结果/从 powershell 返回到 python 的状态。
我尝试过的最相关的选项:
Python - pysftp / paramiko - 使用其指纹验证主机密钥
使用 python pysftp 包,得到“SSHException: Bad host key from server”错误
我想要的是一个示例字符串(看起来像实际的东西)以及从中创建密钥的步骤。或者一个示例文件,我可以使用它来插入详细信息并运行代码。