Автоматический ввод пароля для SCP.

Попробуйте использовать Auditd

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing

Для мониторинга каталога вам нужно

auditctl -w /path/to/dir -p wa -k CHANGED_ON_DIR
1
29.08.2019, 05:35
3 ответа

Используйте подключение для аутентификации с открытым ключом, чтобы избежать сохранения/обслуживания паролей в бумажном виде. Скопируйте содержимое локального пользователя 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 с пакетным режимом и ожидать.

6
27.01.2020, 23:12

Прежде чем пытаться это сделать, вам нужно заключить в кавычки использование регулярных выражений в scp, так что, скорее всего, это будет вашей точкой отказа.

sshpass -p 'your_password' scp "user@abc.com:/usr/etc/Output/*.txt" /usr/abc/
0
27.01.2020, 23:12

Если вам разрешено хранить секреты на жестком диске, вы можете использовать ключи в домашней папке.ssh, чтобы пропустить аутентификацию по паролю. Именно такой должна быть не -интерактивная аутентификация от машины к машине.

2
27.01.2020, 23:12

Теги

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