根据var shell脚本填写密码

时间:2012-08-31 18:06:35

标签: shell

我正在开发一个shell脚本,它会压缩文件,然后将其上传到我拥有的服务器。

到目前为止我已经拥有它所以它要求服务器密码然后保留该变量。在它完成之后,脚本会压缩一个包含大量文件的文件夹。然后它将“scp”命令发送到我的服务器。

现在,这是我需要帮助的地方......我希望它在要求输入服务器密码时填写脚本中先前提供的密码。我确定你问“为什么不在”scp“命令要求时输入密码。原因是我的文件会很大,我不想坐在那里观看拉链。这就是为什么我提前提供密码。

以下是步骤:

1)用户提供服务器密码,保存为变量“password”

2)脚本会压缩文件

3)脚本将文件发送到服务器(当我在脚本中运行此部分时,它要求输入密码。我必须在此输入密码变量。)

关于如何做到这一点的任何想法?非常感谢,愿意,

1 个答案:

答案 0 :(得分:0)

步骤1存在缺陷,原因有几个:安全相关和技术上的。

您应该在后台创建一个生成主连接的“空”SSH会话(请参阅ControlPath手册页中的ControlMasterssh_config(5)选项)。对后续SCP操作使用相同的控制设置将使用此连接,而无需询问密码。脚本完成后,不要忘记终止空会话。