shell-服务器间的免密连接
- 执行环境:ubt 2204LTS
- 安装expect命令
[root@elk91 ~]# apt -y install expect
- 编写脚本
[root@elk91 ~]# cat > password_free_login.sh <<'EOF'
#!/bin/bash
# 创建密钥对
ssh-keygen -t rsa -P "" -f /root/.ssh/id_rsa -q
# 声明你服务器密码,建议所有节点的密码均一致,否则该脚本需要再次进行优化
export mypasswd=1
# 定义主机列表
list=(10.0.0.91 10.0.0.92 10.0.0.93)
# 配置免密登录,利用expect工具免交互输入
for i in ${list[@]};do
expect -c "
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@$i
expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"$mypasswd\r\"; exp_continue}
}"
done
EOF
[root@elk91 ~]# bash password_free_login.sh
本文来自博客园,作者:丁志岩,转载请注明原文链接:https://www.cnblogs.com/dezyan/p/18783329

浙公网安备 33010602011771号