From 94e7a233837cdae72ae2c51bc1a28480f1a9975b Mon Sep 17 00:00:00 2001 From: Aidaho Date: Mon, 16 Sep 2024 16:08:53 +0300 Subject: [PATCH] v8.0.2: Exclude localhost from SSH configuration Updated the logic to skip setting SSH configuration for localhost. This change ensures that SSH settings are only applied to remote servers, preventing potential conflicts or unnecessary configurations for the local machine. Additionally, simplified the SSH key name without including the group name in the UI for better clarity. --- app/modules/service/installation.py | 27 ++++++++++++++------------- app/static/js/admin/ssh.js | 3 +-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/modules/service/installation.py b/app/modules/service/installation.py index 255d13c6..90069920 100644 --- a/app/modules/service/installation.py +++ b/app/modules/service/installation.py @@ -225,20 +225,21 @@ def run_ansible(inv: dict, server_ips: list, ansible_role: str) -> dict: raise Exception(f'{e}') for server_ip in server_ips: - ssh_settings = return_ssh_keys_path(server_ip) - if ssh_settings['enabled']: - inv['server']['hosts'][server_ip]['ansible_ssh_private_key_file'] = ssh_settings['key'] - inv['server']['hosts'][server_ip]['ansible_password'] = ssh_settings['password'] - inv['server']['hosts'][server_ip]['ansible_user'] = ssh_settings['user'] - inv['server']['hosts'][server_ip]['ansible_port'] = ssh_settings['port'] - inv['server']['hosts'][server_ip]['ansible_become'] = True + if server_ip != 'localhost': + ssh_settings = return_ssh_keys_path(server_ip) + if ssh_settings['enabled']: + inv['server']['hosts'][server_ip]['ansible_ssh_private_key_file'] = ssh_settings['key'] + inv['server']['hosts'][server_ip]['ansible_password'] = ssh_settings['password'] + inv['server']['hosts'][server_ip]['ansible_user'] = ssh_settings['user'] + inv['server']['hosts'][server_ip]['ansible_port'] = ssh_settings['port'] + inv['server']['hosts'][server_ip]['ansible_become'] = True - if ssh_settings['enabled']: - try: - server_mod.add_key_to_agent(ssh_settings, agent_pid) - except Exception as e: - server_mod.stop_ssh_agent(agent_pid) - raise Exception(f'{e}') + if ssh_settings['enabled']: + try: + server_mod.add_key_to_agent(ssh_settings, agent_pid) + except Exception as e: + server_mod.stop_ssh_agent(agent_pid) + raise Exception(f'{e}') if proxy is not None and proxy != '' and proxy != 'None': proxy_serv = proxy diff --git a/app/static/js/admin/ssh.js b/app/static/js/admin/ssh.js index e358eed1..943ba38e 100644 --- a/app/static/js/admin/ssh.js +++ b/app/static/js/admin/ssh.js @@ -88,11 +88,10 @@ function addCreds(dialog_id) { if (data.status === 'failed') { toastr.error(data.error); } else { - let group_name = getGroupNameById($('#new-sshgroup').val()); let id = data.id; common_ajax_action_after_success(dialog_id, 'ssh-table-' + id, 'ssh_enable_table', data.data); $('select:regex(id, credentials)').append('').selectmenu("refresh"); - $('select:regex(id, ssh-key-name)').append('').selectmenu("refresh"); + $('select:regex(id, ssh-key-name)').append('').selectmenu("refresh"); $("input[type=submit], button").button(); $("input[type=checkbox]").checkboxradio(); $("select").selectmenu();