当前位置: 首页 > news >正文

SSH免密登录其它用户脚本

这个是同一个网段下免密互联的脚本仅供大家参考

首先我们先需要安装一个sshpass文件 我的是rocky系统 yum install sshpass -y  否则会有报错

  这个版本只能是第一台主机(即执行此脚本命令的主机)登录到其他主机免密,反之不免密。

#!/bin/bash# Rocky系统SSH免密登录配置脚本
# 使用方法:在每台主机上执行此脚本,按提示输入其他主机信息# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; thenecho -e "${RED}错误:请使用root用户执行此脚本${NC}"exit 1
fi# 生成SSH密钥
echo -e "${YELLOW}正在生成SSH密钥对...${NC}"
if [ ! -f ~/.ssh/id_rsa ]; thenssh-keygen -t rsa -N "" -f ~/.ssh/id_rsaecho -e "${GREEN}SSH密钥对生成成功${NC}"
elseecho -e "${GREEN}SSH密钥对已存在,跳过生成${NC}"
fi# 获取本机IP
read -p "请输入本机IP地址: " local_ip# 定义其他两台主机信息
echo -e "${YELLOW}请输入其他两台主机信息${NC}"
read -p "第一台主机IP: " host1_ip
read -p "第一台主机用户名: " host1_user
read -p "第二台主机IP: " host2_ip
read -p "第二台主机用户名: " host2_user# 添加主机到known_hosts
add_to_known_hosts() {echo -e "${YELLOW}正在将主机 $1 添加到known_hosts...${NC}"ssh-keyscan -H $1 >> ~/.ssh/known_hosts 2>/dev/null
}# 复制公钥到目标主机
copy_public_key() {echo -e "${YELLOW}正在将公钥复制到 $1@$2...${NC}"sshpass -p "$3" ssh-copy-id -o StrictHostKeyChecking=no $1@$2if [ $? -eq 0 ]; thenecho -e "${GREEN}公钥复制成功${NC}"elseecho -e "${RED}公钥复制失败,请检查密码和网络连接${NC}"exit 1fi
}# 测试SSH连接
test_ssh_connection() {echo -e "${YELLOW}正在测试到 $1@$2 的SSH连接...${NC}"ssh -o ConnectTimeout=5 $1@$2 "echo 'SSH连接测试成功'"if [ $? -eq 0 ]; thenecho -e "${GREEN}SSH连接测试成功${NC}"elseecho -e "${RED}SSH连接测试失败${NC}"exit 1fi
}# 配置其他主机
for i in 1 2; dohost_ip=host${i}_iphost_user=host${i}_user# 获取目标主机密码read -s -p "请输入${!host_user}@${!host_ip}的密码: " passwordecho# 添加到known_hostsadd_to_known_hosts ${!host_ip}# 复制公钥copy_public_key ${!host_user} ${!host_ip} "$password"# 测试连接test_ssh_connection ${!host_user} ${!host_ip}
doneecho -e "${GREEN}SSH免密登录配置完成!${NC}"
echo -e "${GREEN}现在你可以从 $local_ip 无密码SSH到其他主机${NC}"    

相关文章:

  • 微小店推客系统开发:技术赋能流量裂变,SEO驱动精准获客
  • [网页五子棋][匹配模块]用户管理器可能存在的问题以及解决办法(线程安全、多开问题)
  • EMQX将社区版和企业版统一到一个强大的 EMQX 平台
  • OAuth协议中的Token、Ticket
  • 数据可视化的定义和类型
  • C++中std::cout 的输出格式与数值精度使用详解
  • HarmonyOS NEXT~鸿蒙开发能力:HarmonyOS SDK AI 全解析
  • [ctfshow web入门] web78
  • MySQL8.4组复制
  • Linux服务器时间同步——Chronyd
  • 核心知识点:惯性导航(Inertial Navigation)
  • JDBC连接数据库精准提炼
  • 具身智能(Embodied AI)
  • 把 jar 打包成 exe
  • CTA-861-G-2017中文pdf版
  • 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)
  • CppCon 2014 学习第3天:Viewing the world through array-shaped glasses
  • 传输层协议TCP(上)
  • 知识隔离的视觉-语言-动作模型:训练更快、运行更快、泛化更好
  • 【仿生系统】qwen的仿生机器人解决方案
  • 基层政府网站集约化建设报告/品牌策划方案怎么做
  • 购物软件哪个更好更便宜/天津seo优化
  • 做网站哪个平台好/搜狗网址
  • 大理公司网站建设/电商网络推广怎么做
  • wordpress+centos6/福州百度seo代理
  • 做网站服务器一年多少钱/合肥网站