fix: clear stale ssh_key from state when user declines keygen; add guard for missing key in do_transfer
This commit is contained in:
+9
-5
@@ -342,7 +342,7 @@ def do_transfer_offer():
|
||||
host, user, port_int = resume_host, resume_user or "root", int(resume_port)
|
||||
else:
|
||||
# Сбрасываем, чтобы запросить заново
|
||||
state.set_stage("SOURCE_STOP", target_host=None, target_user=None, target_port=None)
|
||||
state.set_stage("SOURCE_STOP", target_host=None, target_user=None, target_port=None, ssh_key=None)
|
||||
host = user = None
|
||||
else:
|
||||
host = user = None
|
||||
@@ -378,8 +378,12 @@ def do_transfer_offer():
|
||||
|
||||
if key_path:
|
||||
state.set_stage("TRANSFER", target_host=host, target_user=user, target_port=port_int, ssh_key=key_path)
|
||||
from transfer.transfer import do_transfer
|
||||
do_transfer()
|
||||
else:
|
||||
state.set_stage("TRANSFER", target_host=host, target_user=user, target_port=port_int)
|
||||
|
||||
from transfer.transfer import do_transfer
|
||||
do_transfer()
|
||||
# Пользователь отказался от ключа — очищаем старый ssh_key из state
|
||||
state.set_stage("TRANSFER", target_host=host, target_user=user, target_port=port_int, ssh_key=None)
|
||||
warn("SSH-ключ не настроен. Автоматическая передача невозможна (scp с BatchMode=yes не поддерживает пароль).")
|
||||
success(f"Архив оставлен в: {_ARCHIVE_DIR}")
|
||||
info("Перенесите вручную через rsync/scp с паролем, или запустите заново и сгенерируйте ключ.")
|
||||
state.set_stage("DONE")
|
||||
|
||||
Reference in New Issue
Block a user