summaryrefslogtreecommitdiffstats
path: root/perf-framework/automate_pwl_ssh
diff options
context:
space:
mode:
Diffstat (limited to 'perf-framework/automate_pwl_ssh')
-rwxr-xr-xperf-framework/automate_pwl_ssh43
1 files changed, 43 insertions, 0 deletions
diff --git a/perf-framework/automate_pwl_ssh b/perf-framework/automate_pwl_ssh
new file mode 100755
index 0000000..78e4c47
--- /dev/null
+++ b/perf-framework/automate_pwl_ssh
@@ -0,0 +1,43 @@
+#!/bin/bash -u
+
+expect_log=./expectlog
+
+if [ ! -f /root/.ssh/id_rsa.pub ]
+then
+ ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa
+fi
+
+if [ ! -f /usr/bin/expect ]
+then
+ echo "expect not found. Attempting to install..."
+ if grep -i centos /etc/issue > /dev/null 2>&1
+ then
+ echo "CentOS. Using yum"
+ yum install -y `yum whatprovides expect | grep -o "expect.*x86_64"` > /dev/null 2>&1
+ if [ $? -ne 0 ]
+ then
+ echo "Failed installing expect. Exiting..."
+ exit 1
+ fi
+ elif grep -i ubuntu /etc/issue > /dev/null 2>&1
+ then
+ echo "Ubuntu. Using apt-get"
+ apt-get install -y expect > /dev/null 2>&1
+ if [ $? -ne 0 ]
+ then
+ echo "Failed installing expect. Exiting..."
+ exit 1
+ fi
+ else
+ echo "Unknown distribution"
+ echo "Install expect and try again."
+ exit 1
+ fi
+fi
+
+echo "Attempting passwordless ssh setup on multiple hosts."
+echo "log can be found in $expect_log"
+
+export ROOT_PW1
+export ROOT_PW2
+./pwl_ssh $expect_log $SSH_HOSTS