【发布时间】:2012-07-07 13:08:24
【问题描述】:
我正在编写一个“工具”——几个 bash 脚本——它可以自动在集群中的每台服务器上进行安装和配置。
“工具”从主服务器运行。它压缩并分发它自己(通过 SCP)到所有其他服务器,并通过“批量”SSH 解压缩副本。
在设置期间,该工具会从主服务器发出远程命令,例如:echo './run_audit.sh' | ssh host4 'bash -s'。该方法在许多情况下都有效,除非存在交互行为,因为标准输入已经在使用中。
有没有办法通过 SSH 以交互方式运行远程 bash 脚本?
作为起点,考虑以下情况:echo 'read -p "enter name:" name; echo "your name is $name"' | ssh host4 'bash -s'
在上述提示永远不会发生的情况下,我该如何解决?
提前致谢。
【问题讨论】:
-
看看 puppet 或类似的配置管理器。并且不要以交互方式进行分布式配置。
标签: bash scripting ssh scp ssh-tunnel