我正在开发一个shell脚本,它会压缩文件,然后将其上传到我拥有的服务器。
到目前为止我已经拥有它所以它要求服务器密码然后保留该变量。在它完成之后,脚本会压缩一个包含大量文件的文件夹。然后它将“scp”命令发送到我的服务器。
现在,这是我需要帮助的地方......我希望它在要求输入服务器密码时填写脚本中先前提供的密码。我确定你问“为什么不在”scp“命令要求时输入密码。原因是我的文件会很大,我不想坐在那里观看拉链。这就是为什么我提前提供密码。
1)用户提供服务器密码,保存为变量“password”
2)脚本会压缩文件
3)脚本将文件发送到服务器(当我在脚本中运行此部分时,它要求输入密码。我必须在此输入密码变量。)
关于如何做到这一点的任何想法?非常感谢,愿意,
答案 0 :(得分:0)
步骤1存在缺陷,原因有几个:安全相关和技术上的。
您应该在后台创建一个生成主连接的“空”SSH会话(请参阅ControlPath
手册页中的ControlMaster
和ssh_config(5)
选项)。对后续SCP操作使用相同的控制设置将使用此连接,而无需询问密码。脚本完成后,不要忘记终止空会话。