【发布时间】:2015-05-16 02:54:57
【问题描述】:
我需要一个 bash 脚本的帮助,该脚本以 root 身份连接到服务器,执行一些命令,然后从服务器退出。
我试过这个脚本,但是当登录到服务器时执行命令没有运行!
#!/bin/bash
sudo ssh -o ConnectTimeout=10 $1 'exit'
if [ $? != 0 ]; then
echo "Could not connect to $1 , script stopped"
exit
fi
sudo ssh $1
echo "SRV=`cat /etc/puppet/puppet.conf | grep -i srv_domain | awk '{print $3}'`"
echo $SRV
echo "puppetMaster=`host -t srv _x-puppet._tcp.$SRV | head -1 | awk '{print $8}' | cut -f1 -d"."`"
echo $puppetMaster
'exit'
【问题讨论】:
-
顺便说一句,使用 ControlMaster 设置会做得更好——这样你就可以使用一个持久的 SSH 连接来进行测试和稍后的实际命令,而不是假设如果测试 SSH连接有效,然后真正的连接有效(并支付两次身份验证/连接/启动费用)。