我可以使用 SCP 和 expect 来绕过密码提示吗?

我可以使用 SCP 和 expect 来绕过密码提示吗?

我正在尝试使用 shell 脚本中的 SCP 传输一些文件,但是远程机器上要求我输入密码。

我可以使用 expect 和 scp 来输入密码吗,这样我就不必一直输入密码了?

答案1

你不需要。使用钥匙反而。

答案2

是的你可以。

#!/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

答案3

您无法通过 SCP 绕过提示。

您可以使用身份文件来进入而无需密码。您可以通过设置身份密钥来做到这一点。您可以指定身份文件的位置,而不是使用密码提示。如果您需要有关如何设置的信息,请使用给定的链接:https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server

相关内容