ssh无密码自动化脚本实现
ssh进阶-无密码访问配置全自动化实现
教程每周二、四、六更新
# 创建脚本
[root@m01 scripts]# vim seed.sh
#!/bin/bash
# Date: 2022-02-12
# Author: Jason
# Description:
rm -rf /root/.ssh/id_rsa*
ssh-keygen -t rsa -f /root/.ssh/id_rsa -N "" > /dev/null
for ip in 14 15
do
sshpass -p111111 ssh-copy-id -o StrictHostKeyChecking=no 172.16.1.$ip
done
[root@m01 scripts]# chmod a+x seed.sh
[root@m01 scripts]# ./seed.sh
此时配置无密码访问就已经完成了。
我们验证一下无密码访问是否配置成功:# 创建脚本
[root@m01 scripts]# vim verify.sh
#!/bin/bash
# Date: 2022-02-12
# Author: Jason
# Description:
if [ $# -ne 1 ]
then
echo "Usage: verify.sh cmd"
exit 1
fi
for ip in 14 15
do
echo "====="
ssh 172.16.1.$ip $1
echo "++end++"
echo ""
done
[root@m01 scripts]# chmod a+x verify.sh
[root@m01 scripts]# ./verify.sh hostname # 有主机名输出,说明已经上面的配置已经成功。
=====
web01
++end++
=====
web02
++end++
完成上面的工作以后,我们就可以进行批量管理了,例如:
# 查看172.16.1.14的系统时间
[root@m01 scripts]# ssh 172.16.1.14 date
Fri Jan 28 11:20:24 CST 2022
# 给远程主机安装vim软件
[root@m01 scripts]# ssh 172.16.1.14 "yum -y install vim"
课后练习:
请建立两个被管理的主机,一个管理机,实现:
管理机对另两个主机的无密码访问。要求:
-
写出无交互生成密钥的命令
-
写出无交互拷贝密钥的命令
-
写出无交互拷贝密钥都多台主机的脚本并批量验证。
-
批量修改远端服务器的ssh配置:把UseDNS配置改为no,GSSAPIAuthentication的配置也改为no
雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!
推荐阅读
《一站式教程之集群架构》:
看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!
Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
公众号
收录于合集 #一站式教程
198个上一篇ssh进阶-密钥拷贝实战下一篇ssh进阶实战-远程部署rsync和nfs