From 187c1e3804a06b0bf2bc0ff10a390f57fde1ea0c Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Tue, 4 Apr 2023 11:54:52 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96winrm=E5=8D=8F?= =?UTF-8?q?=E8=AE=AE=E7=BD=91=E5=9F=9F=E8=BF=9E=E6=8E=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?ssh=5Fkey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/automations/base/manager.py | 5 ++++- apps/ops/ansible/inventory.py | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/assets/automations/base/manager.py b/apps/assets/automations/base/manager.py index 1a9f0b8cc..63b490fd9 100644 --- a/apps/assets/automations/base/manager.py +++ b/apps/assets/automations/base/manager.py @@ -1,11 +1,12 @@ import json import os import shutil +import yaml + from collections import defaultdict from hashlib import md5 from socket import gethostname -import yaml from django.conf import settings from django.utils import timezone from django.utils.translation import gettext as _ @@ -239,10 +240,12 @@ class BasePlaybookManager: jms_asset, jms_gateway = host['jms_asset'], host.get('gateway') if not jms_gateway: continue + server = SSHTunnelForwarder( (jms_gateway['address'], jms_gateway['port']), ssh_username=jms_gateway['username'], ssh_password=jms_gateway['secret'], + ssh_pkey=jms_gateway['private_key_path'], remote_bind_address=(jms_asset['address'], jms_asset['port']) ) try: diff --git a/apps/ops/ansible/inventory.py b/apps/ops/ansible/inventory.py index d98d105e5..2695851bb 100644 --- a/apps/ops/ansible/inventory.py +++ b/apps/ops/ansible/inventory.py @@ -100,7 +100,8 @@ class JMSInventory: if ansible_connection in ('local', 'winrm'): host['gateway'] = { 'address': gateway.address, 'port': gateway.port, - 'username': gateway.username, 'secret': gateway.password + 'username': gateway.username, 'secret': gateway.password, + 'private_key_path': gateway.private_key_path } host['jms_asset']['port'] = port else: