python - 如何正确添加 ssh 密钥
问题描述
我正在设置 sftp 连接:
import os
from Crypto.Cipher import AES
import paramiko
import pysftp as sftp
cnopts = sftp.CnOpts(knownhosts='C:/Users/mposc/.shh/known_hosts/')
cnopts.hostkeys.load('projectKey.pub')
#cnopts.hostkeys = None
def sftpconnect():
try:
cnnt = sftp.Connection(host="example.host.com", username="usersample", password="*****", cnopts=cnopts)
print("connection succesful")
cnnt.close()
except Exception as e:
print (str(e))
sftpconnect()
我有以下已知论点:
UserWarning: Failed to load HostKeys from C:/Users/mposc/.shh/known_hosts/. You will need to explicitly load HostKeys (cnopts.hostkeys.load(filename)) or disableHostKey checking (cnopts.hostkeys = None).
我已经使用 Windows cmd ( https://phoenixnap.com/kb/generate-ssh-key-windows-10 )创建了公钥,并且文件存储在这里:C:\Users\mposc.shh\known_hosts\projectKey。酒馆
我四处搜索并找到了非常有用的用户注释,尤其是:Verify host key with pysftp
我仍在为此苦苦挣扎:如果我设置 cnopts.hostkeys.load('projectKey.pub') 我无法连接并出现错误:UserWarning: Failed to load HostKeys from C:/Users/mposc/.shh/known_hosts/。如果我设置 cnopts.hostkeys = None 我可以连接..
我读到这是一个 pysftp 错误,但我担心这不安全。我已经尝试了 pysftp 库中的几个不同选项,并按照不同站点的建议。如何正确添加文件名?
解决方案
推荐阅读
- node.js - 在 NodeJS 中将 XML 转换为特定 XML 或 JSON 格式的最佳方法
- swift - 一个 Viewcontroller 中有两个 Tableview 的“索引超出范围”错误
- java - JavaFx:自动完成多选文本字段
- tensorflow - TF 2.0 Beta:如何重新初始化定制模型的权重?
- c++ - __gcd 的时间复杂度是多少?
- python - Python 3.x 中的机会游戏?
- xamarin.forms - 选择器按钮的颜色在 android 5.1 上没有改变
- angular - Angular 前端未从端点加载:请求了不安全的 XMLHttpRequest 端点
- apache-spark - 将列表列表转换为 Spark Dataframe
- javascript - 如何在多选中选择剩余元素