feat: SSH key discovery and connectivity check via pick_or_setup_ssh_key

This commit is contained in:
2026-05-22 20:27:33 +04:00
parent 003a251fbb
commit 15bb88527d
3 changed files with 204 additions and 12 deletions
+5 -8
View File
@@ -61,14 +61,11 @@ def do_transfer():
info(f"Выбран метод переноса: {method}")
ssh_opts = f"-p {port}"
if exists("ssh"):
# Проверим доступность
info("Проверяем SSH-соединение ...")
check = run(f"ssh {ssh_opts} -o ConnectTimeout=10 -o BatchMode=yes {user}@{host} 'echo ok'", check=False)
if check.returncode != 0:
warn("SSH (batch mode) не прошёл — возможно, нужен пароль.")
else:
success("SSH доступ подтверждён")
key_path = st.get("ssh_key")
if key_path and os.path.isfile(key_path):
ssh_opts += f" -i '{key_path}'"
info(f"Используем SSH-ключ: {key_path}")
# Предварительная проверка уже сделана в pick_or_setup_ssh_key, повторно не делаем
if method == "scp":
info("Копируем архив через scp ...")