ansible的key问题。

发布于 2022-09-02 19:40:37 字数 1768 浏览 20 评论 0

背景环境:

公司机器采用了公私钥+密钥短语登入

公司内网一台机器安装了ansible,这个ansible也是要通过我的密钥+密钥短语来操作外网的机器。

目前这台内网机采用了keychain方式来处理这台机连接外网机的问题。

keychain:每次登入secureCRT窗口的时候,会自动加载我的私钥以及密钥短语到key-agent中,这样我就直接从我的这台内网机连接到我的外网机。

登入时候提示加载密钥的信息:

clipboard.png

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

clipboard.png

那么问题来了:

但我使用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'

执行结果:

clipboard.png

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

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

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

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

固执像三岁 2022-09-09 19:40:37

换一种试试吧,ansible-plabook

若能看破又如何 2022-09-09 19:40:37

你们是通过私钥登陆的吗 runner api 可以指定ssh私钥 然后你可以使用ssh-agent加载你的ssh 环境

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文