我可以手动ssh,但不能从脚本中删除 - 权限被拒绝(publickey)

时间:2017-10-10 20:52:27

标签: python bash ssh

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

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

我目前可以手动ssh到这个服务器,因为我已经设置了一个ssh密钥(使用Google Cloud Platform)。但是当我尝试运行只执行

的bash脚本时
'ssh username@externalIP'

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

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

为什么不使用paramiko通过SSH连接?您可以指定密钥,如this gist

所示

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

答案 1 :(得分:1)

可能你的私钥在你的主目录中,python以限制用户的身份产生bash进程,尝试更改你的脚本以明确包含私钥,如果仍然没有工作你将不得不复制密钥并更改其权限

要显式添加私钥:

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