Shell 自动化部署免密登录

1 .配置主机名称

  参考:Linux 修改主机名 和 ip 映射关系

2 . 编写脚本

root.sh 内容

#!/bin/bash

SERVERS="hadoop0 hadoop1 hadoop2"
PASSWORD=lg


auto_ssh_copy_id() {
    expect -c "set timeout -1;
        spawn ssh-copy-id $1;
        expect {
            *(yes/no)* {send -- yes\r;exp_continue;}
            *assword:* {send -- $2\r;exp_continue;}
            eof        {exit 0;}
        }";
}

ssh_copy_id_to_all() {
    for SERVER in $SERVERS
    do
        auto_ssh_copy_id $SERVER $PASSWORD
    done
}

ssh_copy_id_to_all
# 将 install.sh 传到每个节点

for SERVER in $SERVERS
do
scp install.sh root@$SERVER:/root
ssh root@$SERVER /root/install.sh
done

 

 

3. 执行脚本

  sh root.sh  

 

本部分属于一步一步学习大数据系列之 Linux 的章节,欢迎订阅更多文章

更多内容请参考:一步一步学习大数据系列介绍

posted @ 2017-02-07 12:08  农民阿姨  阅读(2155)  评论(0编辑  收藏  举报