有没有办法在剧本执行的整个生命周期中仅将一个SSH连接保持到主机,并通过包含的python脚本达到该连接?
我的问题: -如果我使用ansible建立与主机的ssh连接,我不知道如何从包含SSH连接通道的python模块读取和写入的python模块中到达。 -如果我使用随附的python脚本创建新的paramiko SSHClinet对象,则该对象将在python脚本完成后(一项任务完成后)丢失,并且我始终需要一次又一次地建立连接 消耗大量时间。(用于建立连接和登录)
我有什么 示例:
Ansible “- -主机:localhost vars: 主持人:“ 10.100.100.100” USERNAME:“用户名” 密码:“密码”
- name: setup
setup_env:
NE: "{{HOST}}"
USERNAME: "{{USERNAME}}"
PASSWD: "{{PASSWORD}}"
- name: PYTHON SSH and Logic
PYTHON:
input: 'input for python'
register: python_result
- name: PYTHON SSH and Logic
PYTHON:
input: 'input2 for python'
register: python_result
... ...我有很多不同的任务 ... -名称:PYTHON SSH和逻辑 蟒蛇: 输入:“用于python的inputx” 注册:python_result
Python -PYTHON.py 我有一个PYTHON.py,我在其中使用paramiko创建SSHClient对象并通过SSH连接到特定的主机(在python模块中进行了硬编码-无论如何在ansible主机中都是相同的),并执行一些逻辑,包括登录之类的ssh操作并根据输入通过SSHClient写入SSH通道。
问题:每次重新连接并登录时,都会浪费大量时间。
我如何才能通过所有可访问的剧本建立一个SSH连接,并在python模块中使用该连接以节省时间?有可能吗?
非常感谢您!