feat: secure password/passphrase input via getpass; interactive SSH auth menu (key/passphrase/password/temp-key); fix missing do_transfer call
This commit is contained in:
+2
-2
@@ -10,7 +10,7 @@ import tarfile
|
||||
import time
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from core.color import header, subheader, success, warn, error as cerror, info, step, prompt, confirm, divider, log_cmd
|
||||
from core.color import header, subheader, success, warn, error as cerror, info, step, prompt, prompt_password, confirm, divider, log_cmd
|
||||
from core import state
|
||||
from core.runner import run
|
||||
from discover.docker import discover_docker, get_container_pid
|
||||
@@ -380,7 +380,7 @@ def do_transfer_offer():
|
||||
state.set_stage("TRANSFER", target_host=host, target_user=user, target_port=port_int, ssh_key=key_path)
|
||||
else:
|
||||
# Нет SSH-ключа — спрашиваем пароль и пробуем sshpass
|
||||
password = prompt(f"Введите пароль для {user}@{host} (или Enter для отмены)")
|
||||
password = prompt_password(f"Пароль для {user}@{host} (Enter для отмены)")
|
||||
if not password:
|
||||
state.set_error("ssh_key_setup", "", "Пароль не введён", suggestion="Запустите docker-migrate --resume или настройте SSH-ключ")
|
||||
raise RuntimeError("Пароль не введён. Установите SSH-ключ или введите пароль.")
|
||||
|
||||
Reference in New Issue
Block a user