标签:passwd code 返回 设置密码 name install pre 第一个 远程服务器
一、安装expect
yum -y install expect
二、常用程序
expect程序:
#!/usr/bin/expect -f
set ip [lindex $argv 0 ] #接收第一个参数,并设置IP
set password [lindex $argv 1 ] #接收第二个参数,并设置密码
set timeout 10 #设置超时时间
spawn ssh root@$ip "hostname" #发送ssh请滶
expect { #返回信息匹配
"*yes/no" { send "yes\r"; exp_continue} #第一次ssh连接会提示yes/no,继续
"*password:" { send "$password\r" } #出现密码提示,发送密码
}
interact #交互模式,用户会停留在远程服务器上面
三、批量ssh
#!/bin/bash
SERVERS="192.168.1.241 192.168.1.242"
PASSWD="123456"
function sshcopyid
{
expect -c "
set timeout -1;
spawn ssh-copy-id $1;
expect {
\"yes/no\" { send \"yes\r\" ;exp_contine; }
\"password:\" { send \"$PASSWD\r\";exp_continue; }
};
expect eof;
"
}
for server in $SERVERS
do
sshcopyid $server
done
标签:passwd code 返回 设置密码 name install pre 第一个 远程服务器
原文地址:https://www.cnblogs.com/water-sky/p/10221254.html