使用shell脚本实现自动SSH互信功能

简介: 使用shell脚本实现自动SSH互信功能

说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?

#!/bin/expect
#循环1000台机器的IP地址,生成密钥文件authorized_keys
for ip in {cat ip.list}
do
    ssh user@$ip ssh-keygen -t rsa  &>/dev/null
    expect{
                "yes/no" { send "yes\r";exp_continue}
                "password:"{send "$passwd\r";exp_continue}
              }
    cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys &> /dev/null  
    exit
    if [ !-f ~/.ssh/authorized_keys ];<br>    then
       touch ~/.ssh/authorized_keys<br>    fi
    ssh user@$ip cat ~/.ssh/authorized_keys >> ~/.ssh/authorized_keys  &> /dev/null
    expect{
                "yes/no" { send "yes\r";exp_continue}
                "password:"{send "$passwd\r";exp_continue}
              }   
done
#scp authorized_keys 文件到各台机器上面。
for ip in {cat ip.list}
do
   scp ~/.ssh/authorized_keys user@$ip:~/.ssh/ 
    expect{
                "yes/no" { send "yes\r";exp_continue}
                "password:"{send "$passwd\r";exp_continue}
              }  
done
相关文章
|
2天前
|
Shell
shell脚本
shell脚本
9 2
|
9天前
|
安全 网络协议 Shell
SSH(Secure Shell)命令行工具使用
【6月更文挑战第6天】SSH(Secure Shell)命令行工具使用
14 1
|
10天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
|
10天前
|
Ubuntu Shell Linux
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
linux shell 后台执行脚本的方法 脚本后台运行 后台运行程
|
10天前
|
监控 Shell Linux
shell linux中用shell写一个占用CPU的脚本
shell linux中用shell写一个占用CPU的脚本
|
10天前
|
Shell Linux
shell linux中shell脚本编写俄罗斯方块
shell linux中shell脚本编写俄罗斯方块
|
10天前
|
Shell Linux Perl
Linux shell脚本sed使用
Linux shell脚本sed使用
|
10天前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
|
10天前
|
Shell Linux BI
linux shell脚本中 if 条件判断
linux shell脚本中 if 条件判断
|
10天前
|
Shell Linux
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值