1.上传所需要的压缩包到你的Linux主目录下
链接: https://pan.baidu.com/s/1exWYm0FsqlKSW8Ur94SZlQ
提取码: u6f2
2.配置脚本文件
#!/bin/bash
SERVERS="这里是你的Linux主机ip或者ip对应的主机名,多个主机名之间以空格隔开即可"
PASSWORD=这是你当前主机的root下的登录密码
BASE_SERVER=你当前主机的ip地址
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
3.将配置好的脚本文件上传到你的当前Linux主目录下,并且修改文件的权限为可执行,chmod u+x 脚本名.sh
4.将两个压缩包进行一下操作
将expect和tcl的软件包下载放到/usr/local/src目录下
(1)解压tcl,进入tcl解压目录,然后进入unix目录进行编译安装
[root@xw4 src]# tar -zvxf tcl8.4.11-src.tar.gz
[root@xw4 src]# cd tcl8.4.11/unix
[root@xw4 unix]# ./configure
[root@xw4 unix]# make && make install
(2)安装expect
[root@xw4 src]# tar -zvxf expect-5.43.0.tar.gz
[root@xw4 src]# cd expect-5.43
[root@xw4 expect-5.43]# ./configure --with-tclinclude=/usr/local/src/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/
[root@xw4 expect-5.43]# make && make install
(3)安装完成后进行测试
[root@xw4 ~]# expect
expect1.1>
expect1.1>
exit自动退出
5.执行脚本文件
./脚本文件名.sh
测试
ssh 你的其他主机ip或者ip对应的主机名,此时我们不需要输入密码即可在当前Linux主机上访问其他的主机。