Копирование файла между машинами без загрузки личного ключа

Используйте подключение для аутентификации с открытым ключом, чтобы избежать сохранения/обслуживания паролей в бумажном виде. Скопируйте содержимое локального пользователя id_rsa.pubв файл удаленных пользователей ~/.ssh/authorized_keys, чтобы установить соединение для аутентификации с открытым ключом.

Если вы все еще хотите использовать пароль, то можно создать сценарий ожидания, подобный следующему, и изменить вторую строку сценария ожидания, чтобы она соответствовала вашим user, serverи MY_PASSWORDс вашим паролем:

spawn scp "user@abc.com:/usr/etc/Output/*.txt" /usr/abc/
expect "user@abc.com\'s password:" 
send "MY_PASSWORD\r"
interact

Благодаря @pynexj в сообщении Ссылка на StackOverFlow Мне пришлось изменить скрипт следующим образом:

#!/usr/bin/expect -f

spawn scp /TEST1.txt root@1.2.3.4:/root/
expect "*assword:*"
send "password\r"
expect eof

spawn scp /TEST2.txt root@1.2.3.4:/root/
expect "*assword:*"
send "password\r"
expect eof
exit

Обратите внимание , что если у вас есть несколько файлов или шаблонов, которые необходимо передать, вы также можете рассмотреть возможность использования SFTP с пакетным режимом и ожидать.

0
18.10.2021, 16:09
0 ответов

Теги

Похожие вопросы