feat: SSH key discovery and connectivity check via pick_or_setup_ssh_key
This commit is contained in:
@@ -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 ...")
|
||||
|
||||
Reference in New Issue
Block a user