В настоящее время я создаю скрипт, в котором я хочу копировать файлы с одного сервера на другой, используя либо , scp
либо sftp
; меня смущает аутентификация.
Если я воспользуюсь scp
, то как я сообщу пароль?
решение1
Для такого автоматизированного использования вам не следует использовать аутентификацию по паролю, вам следует использовать аутентификацию на основе ключа. При использовании аутентификации на основе ключа подключение будет происходить без необходимости ввода пароля.
Вам нужно сгенерировать пару ключей на стороне, где вы используете SSH-клиент, а затем скопировать свой открытый ключ на SSH-сервер. Вы найдете бесконечные страницы о том, как это сделать, но вот одна из них:
https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/
решение2
Используйте ключи SSH для большей безопасности
Или вы можете установить sshpass и сделать что-то вроде:
sshpass -p "password" scp file.txt user@machine:/path