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 )
添加回答
舉報