标签: python bash ssh
所以我目前正在研究负载平衡python脚本。在此脚本中,我将需要更新服务器上的文件。我的计划是让我的python脚本调用一个bash脚本。
在那个bash脚本中,我想ssh进入服务器,对文件执行awk命令,然后注销。
我目前可以手动ssh到这个服务器,因为我已经设置了一个ssh密钥(使用Google Cloud Platform)。但是当我尝试运行只执行
'ssh username@externalIP'
我收到错误:权限被拒绝(公钥)
我在这里缺少什么?
答案 0 :(得分:1)
为什么不使用paramiko通过SSH连接?您可以指定密钥,如this gist。
通过使用它,您可以轻松设置要在服务器上执行的命令。
答案 1 :(得分:1)
可能你的私钥在你的主目录中,python以限制用户的身份产生bash进程,尝试更改你的脚本以明确包含私钥,如果仍然没有工作你将不得不复制密钥并更改其权限
要显式添加私钥:
ssh -i /path/to/private/key user@host