如何在 shell 脚本中使用 scp 或 sftp 将文件从一台服务器复制到另一台服务器?

如何在 shell 脚本中使用 scp 或 sftp 将文件从一台服务器复制到另一台服务器?

我当前正在创建一个脚本,我想使用 或 将文件从一台服务器复制到另一台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

相关内容