Делать SCP на удаленный сервер, чтобы положить файлы. Пока мы это делаем, нам нужно пройти аутентификацию на удаленном сервере, используя метод аутентификации запрос-ответ, где у нас есть отдельный сервер аутентификации:

For example

scp <Filename> admin@IP of REMOTE server:/Path

Challenge : 12345  Product ID:435432
Response : 

Он запрашивает ответ (пароль) для завершения передачи файла, и нам нужно скопировать созданный запрос и идентификатор продукта на сервер аутентификации (server2), получить ответ от этого сервера и поместить его в поле ответа, показанное выше. Если ответ правильный, он продолжит передачу файла, в противном случае будет отказано в передаче.

Нам дают опцию аутентификации запрос-ответ по соображениям безопасности.

Я хотел бы сделать автоматическую передачу файла с использованием этого метода.

1 ответ1

0

Не зная больше деталей, сложно сказать. Но это похоже на задачу, лучше всего подходящую для expect сценария:

Expect - это программа, которая "общается" с другими интерактивными программами по сценарию. Следуя сценарию, Expect знает, чего можно ожидать от программы и каков должен быть правильный ответ. Интерпретированный язык обеспечивает ветвление и высокоуровневые структуры управления для управления диалогом. Кроме того, пользователь может взять на себя управление и взаимодействовать напрямую при желании, а затем вернуть управление сценарию.

Есть много сайтов, доказывающих expect примеры скриптов, такие как этот и этот. Но концепция довольно проста. Вот простой пример «Привет, мир!» На одной из этих страниц:

#!/usr/bin/expect
set timeout 10
expect "hello"
send "world"

Это в основном устанавливает время ожидания скрипта равным 10 секундам, оно expect ввода слова «привет», а затем отправляет слово «мир» обратно.

Включите эту базовую концепцию в некоторую логику скрипта Bash, и, возможно, это поможет вам достичь цели создания автоматизированного процесса передачи файлов с использованием метода аутентификации запрос-ответ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .