【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


相关文章
|
10月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
480 146
|
11月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
698 11
|
11月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
275 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
12月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
698 18
|
11月前
|
Ubuntu 网络安全 数据安全/隐私保护
搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接
以上步骤涵盖从安 装 到配制再至实际使 用户建立Ssh 连接所需知识点 。务必注意,在对外提供Ssh 访问
512 2
|
12月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
519 5
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
1380 5
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
615 14
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
430 19
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2325 25