ssh无密码自动化脚本实现

ssh进阶-无密码访问配置全自动化实现

Cloud研习社 Cloud研习社 2023-02-16 07:53 发表于山东
图片图片

教程每周二、四、六更新

图片前面我们分步骤完成了无密码访问的配置,今天我们总结一下,用脚本实现全自动化配置无密码访问:
# 创建脚本
[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"

课后练习:

请建立两个被管理的主机,一个管理机,实现:

管理机对另两个主机的无密码访问。要求:

  1. 写出无交互生成密钥的命令

  2. 写出无交互拷贝密钥的命令

  3. 写出无交互拷贝密钥都多台主机的脚本并批量验证。

  4. 批量修改远端服务器的ssh配置:把UseDNS配置改为no,GSSAPIAuthentication的配置也改为no

 


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

nginx负载均衡-upstream和proxy模块(6)

nginx企业实战

SSH基础

SSH配置与安全防护实战

远程拷贝 - scp

sftp

ssh进阶-密钥认证实践 - 实现无密码访问

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
180篇原创内容

 

收录于合集 #一站式教程
 198
上一篇ssh进阶-密钥拷贝实战下一篇ssh进阶实战-远程部署rsync和nfs
阅读 146
 
posted @ 2023-02-20 13:44  往事已成昨天  阅读(118)  评论(0编辑  收藏  举报