管理多个登录主机的脚本

匹配登录主机的shell
#!/bin/bash
echo "请输入登录的主机(dev|beta|log|..):"
read input;

declare -A host_config_ip host_config_pwd host_config_username;
host_config_ip=([dev]='你的主机ip' [beta]='你的主机ip' [log]='你的主机ip')
host_config_pwd=([dev]='你的密码' [beta]='你的密码' [log]='你的密码');
host_config_username=([u]='用户名');

if [ ! ${host_config_ip[$input]} ]; then
  echo "不存在 $input 主机 !!!"
  exit 1
fi
#echo $(dirname $(readlink -f "$0"));
file_name='shell'
if [ "$input" == 'log' ]; then
    file_name='log'
fi
#拼接登录主机的信息,然后调用自动登录脚本
$(dirname $(readlink -f "$0"))/$file_name.sh ${host_config_ip[$input]} ${host_config_username[u]} ${host_config_pwd[$input]}
自动化登录shell.sh
set timeout -1
#读取主机信息
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
#执行ssh命令
spawn ssh $username@$host
#匹配到password自动发送密码
expect "*password*" {send "$password\r"}
#登录成功将交互权还给shell
interact

远方的代码
请先登录后发表评论
  • 最新评论
  • 总共0条评论