2 回答

TA贡献1886条经验 获得超2个赞
是的,如果您还没有它,那么您必须ssh-keygen在 sftp 主机上创建密钥并使用它。
import pysftp
with pysftp.Connection('hostname', username='me', private_key='/path/to/keyfile') as sftp:
#
# ... do sftp operations
#
参考:https ://pysftp.readthedocs.io/en/release_0.2.8/cookbook.html

TA贡献1830条经验 获得超9个赞
只需以与普通(GUI/命令行)SFTP 或 SSH 客户端相同的方式设置公钥身份验证。没有什么 pysftp/Python/Lambda 特定的。
互联网上有无数指南展示了如何做到这一点。
例如我的文章设置 SSH 公钥身份验证。
然后在您的 Python/pysftp 代码中使用私钥:
Connect to SFTP with key file using Python pysftp
由于 pysftp 需要物理文件中的密钥,这在 AWS Lambda 中可能很复杂,如果您切换到 Paramiko:
SSH/SCP through Paramiko with key in string
,您还可以在 Python 代码中硬编码密钥 (请参阅pysftp vs. Paramiko )
添加回答
举报