python - ansible的key问题。
大家讲道理
大家讲道理 2017-04-17 17:48:31
0
2
418

背景环境:

公司机器采用了公私钥+密钥短语登入 公司内网一台机器安装了ansible,这个ansible也是要通过我的密钥+密钥短语来操作外网的机器。 目前这台内网机采用了keychain方式来处理这台机连接外网机的问题。 keychain:每次登入secureCRT窗口的时候,会自动加载我的私钥以及密钥短语到key-agent中,这样我就直接从我的这台内网机连接到我的外网机。 登入时候提示加载密钥的信息:

然后我在操作ansible上也是采用此方式keychain,随便打开一个窗口就能操作了。

那么问题来了:

但我使用ansible api的时候,出现了无权限问题 调用方式:
class serverPatch(): print 'dddddddddddddd' def copyFile(self,patchfile,serverhost): upload_path = app.config['UPLOAD_FOLDER'] print upload_path runner = ansible.runner.Runner( module_name='copy', module_args='src=%s/%s dest=/tmp' %(upload_path,patchfile), # pattern = '%s' %serverhost, pattern = 'xiaomi', forks=10 ) print 'sdadsd:%s' %patchfile datastructure = runner.run() print datastructure print 'wwwwwwwwwwww'

执行结果:

那么我要怎么处理这个key,才能使用我用脚本的时候也能正常执行。

这个问题应该是 secureCRT窗口化的时候有加载到我的私钥以及密钥短语,但在使用脚本的时候却没加载到,要怎样处理才能使得脚本也加载导致我的私钥以及密钥短语?

============问题补充============
补充描述:
以上内容配置完后,在文件中调用ansible api,然后执行该文件可以正常执行,但是在使用web方式调用这个文件时就会出现权限异常的。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆 (2)
阿神

換個試試吧,ansible-plabook

    伊谢尔伦

    你們是透過私鑰登陸的嗎 runner api 可以指定ssh私鑰 然後你可以使用ssh-agent載入你的ssh 環境

      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!