Назад | Перейти на главную страницу

Могу ли я использовать expect с SCP для обхода запроса пароля?

Я пытаюсь передать некоторые файлы с помощью SCP в сценарии оболочки, но мне предлагается ввести пароль на удаленном компьютере.

Могу ли я использовать expect с scp для ввода пароля, чтобы мне не приходилось вводить его все время?

Вы этого не сделаете. Использовать ключ вместо.

Да, ты можешь.

#!/usr/bin/bash
/usr/bin/expect <<EOD
spawn /usr/bin/scp -l 200 file.ext  user@server://path/on/server/
expect "password:"
send "YourPassword\r"
expect "\r"
send "\r\n"
EOD

Вы не можете обойти подсказку с помощью SCP.

Что вы можете сделать, чтобы войти без парольной фразы, так это использовать файл идентификации. Вы можете сделать это, настроив ключ идентификации. Вместо того, чтобы использовать запрос пароля, вы указываете местоположение файла идентификации. Если вам нужна информация о том, как это настроить, воспользуйтесь данной ссылкой: https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server