【Linux网络服务】SSH密钥的批量分发

简介: 【Linux网络服务】SSH密钥的批量分发

1.wget获取epel源

wget http://files.tttidc.com/centos6/epel-6.repo
mv epel-6.repo /etc/yum.repos.d/

42d2b0f779ff437eb2ac4483d3ce47df.jpg

2.检查本地挂载情况,如果没挂载,须先挂载

挂载命令:mount /dev/sr0 /mnt  #挂在路径根据你们自己本地的yum源来挂载


f9ec8578138d4653916b4307c600e2e2.jpg

#清空缓存
yum clean all
#创建缓存
yum makecache

3.下载sshpass软件包

yum -y install sshpass


9b35c3490be7422191f3e8942e8764f1.jpg

4.创建密钥对文件

ssh-keygen -t dsa #指定dsa算法

6e91083810884add9db4b131eb418209.jpg


58a751b29ad448c0b242bfa8df7e2d07.jpg

5.免交互方式发放公钥

sshpass -p "123456" ssh-copy-id -i /root/.ssh/id_dsa.pub -o StrictHostKeyChecking=no root@192.168.10.91

7bfa621421ed4d5aa70a826f4fb8e8fd.jpg


307d50f631b64f4aa377b12563448a26.jpg

6.测试免密登录

ssh 192.168.10.91


46e831e3f50b48248b2332bd8e8f8a6e.jpg

7.编写ssh密钥对免交户批量分发脚本

#!/bin/bash
#author:lixiang
#2021-09-13
#定义变量
user=root
password=123456
function YumBuild(){
echo "正在安装epel源yum仓库..."
cd /etc/yum.repos.d/
wget http://files.tttidc.com/centos6/epel-6.repo &>/dev/null
yum clean all &>/dev/null
yum makecache &>/dev/null
}
echo "测试主机ip是否能连接外网..."
ping www.baidu.com -c 2 >/dev/null || (echo "无法连接外网,请检查本地网络环境" && exit)
[ $# -eq 0 ] && echo "没有参数!格式为:sh $0 " && exit
YumBuild
if [ $? -gt 0 ];then
echo "epel源构建失败..." && exit
fi
rpm -q sshpass &>/dev/null || yum -y install sshpass &>/dev/null || (echo "sshpass build error!" && exit)
[ -d ~/.ssh ] || mkdir ~/.ssh
chmod 700 ~/.ssh
echo "正在创建密钥对..."
ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa &>/dev/null
for ip in $*
do
   ping $ip -c 2 &>/dev/null
   if [ $? -gt 0 ];then
  echo "$ip无法ping通网络"
        continue
   fi
sshpass -p "$password" ssh-copy-id -i ~/.ssh/id_dsa.pub -o StrictHostKeyChecking=no ${user}@$ip &>/dev/null
echo "$ip 公钥分发成功"
done


d38a0ed7c86043c39f0aafd30b613857.jpg

8.测试公钥发放

chmod u+x ssh.sh #赋予执行权限
./ssh.sh 192.168.10.92 192.168.10.93 192.168.10.94 192.168.10.95 192.168.10.96


6deb9a33b670482581854958bc620020.jpg


00cb4d99f7a54dbf9f094cab3443e6be.jpg


相关文章
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
15天前
|
域名解析 网络协议 安全
|
21天前
|
运维 监控 网络协议
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
17天前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
25天前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。
|
1月前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
110 5
|
1月前
|
网络协议 安全 Ubuntu
Linux中网络连接问题
【10月更文挑战第3天】
32 1
|
1月前
|
XML 大数据 网络安全
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(一)
66 4
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0