1

У меня 3 системы Linux.

Система_А Система_В Система_C

Я хочу скопировать файл из "System_B" в "System_C" при входе в систему из System_A.

Приведенный ниже код копирует файл из "System_A" в "System_C" (так как я запускаю его, когда вошел в систему из "System A")

sshpass -p "pass123" scp /u01/File_A.txt oracle@$ServerIP_C:/u01/File_C.txt

Кроме того, приведенный ниже код делает то, что я хочу. Копирует файл из "System_B" в "System_C" при входе в систему из System_A.

sshpass -p "pass123" scp oracle@$ServerIP_B/u01/File_B.txt oracle@$ServerIP_C:/u01/File_C.txt

Но в приведенном выше коде он запрашивает 1 пароль, так как я передаю только 1 пароль через sshpass вместо 2.

Как я могу передать второй пароль через sshpass здесь, чтобы он не запрашивал пароль.

Я пробовал ниже коды:

 sshpass -p "pass123" sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt oracle@IP_C:/tmp/File_C.txt
This throws error: Conflicting password source

sshpass -p "pass123" scp oracle@IP_B:/tmp/File_B.txt sshpass -p "pass123" oracle@IP_C:/tmp/File_C.txt
Promted for 1 Password

1 ответ1

0

Вы должны рассмотреть возможность использования ключей SSH. С помощью ключа вы можете подключиться к компьютеру без необходимости ввода пароля. Это также рекомендуется в качестве альтернативы на странице руководства sshpass.

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