我可以手动 ssh 输入,但不能从脚本 - 权限被拒绝(公钥)



所以我目前正在研究一个负载平衡的python脚本。在此脚本中,我需要更新服务器上的文件。我的计划是让我的python脚本调用bash脚本。

在那个 bash 脚本中,我想 ssh 进入服务器,对文件执行 awk 命令,然后注销。

我目前可以手动 ssh 进入此服务器,因为我已经设置了一个 ssh 密钥(使用 Google Cloud Platform)。但是当我尝试运行仅执行的 bash 脚本时

'ssh username@externalIP'

我收到错误:权限被拒绝(公钥)

我在这里错过了什么?

为什么不使用paramiko通过SSH连接?您可以指定一个键,如本要点所示。

通过使用此功能,您可以轻松设置要在服务器上执行的命令。

可能您的私钥在您的主目录中,并且 python 正在以受限用户的身份生成 bash 进程,请尝试更改脚本以显式包含私钥,如果仍然不起作用,则必须复制密钥并更改其权限

要显式添加私钥,请执行以下操作:

ssh -i /path/to/private/key user@host

最新更新