【发布时间】:2021-10-29 07:29:19
【问题描述】:
我在尝试使用私钥设置 paramiko scp 时遇到了一些问题。
我认为这个问题与 paramiko 本身并没有太大关系,但事实上这是在 Cron 中启动的(用户 cron (crontab -e))。
所以脚本可以在普通终端上运行,但不能在 cron 上运行。在调用方法 connect 时,我尝试指定私钥的确切位置(key_filename="/home/myuser/.ssh/id_rsa")。它返回以下错误:“不是有效的 RSA 私钥文件”。
另一方面,在 cron 中,我尝试声明要使用的终端:
SHELL=/bin/bash
PATH=... (all the typical values)
HOME=/home/myuser
还尝试在启动任务之前获取 $HOME/profile。
它总是失败。
要么让 cron 执行环境将所有变量都作为普通的 bash,要么能够正确地向 paramiko 指定私钥的位置,但我尝试的所有方法都不起作用。
我也试过了:Paramiko can not access private key 但它不起作用。
这个问题Paramiko: "not a valid RSA private key file" 不适用,因为该脚本在从该用户的普通终端启动时有效。它因 cron 而失败。
有什么线索吗?
Python3 帕拉米科 2.6.0 Ubuntu 20.4.2 LTS
【问题讨论】:
标签: python-3.x cron paramiko ssh-keys