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

shell免登陆脚本

#!/bin/bash

## 脚本接收的参数,也就是要互相配置 SSH 免密登录的服务器列表参数
BASE_HOST_LIST=ip

## 密码,默认用户是当前运行脚本的用户,比如 root 用户
## 这里改成你的用户对应的密码
BASE_PASSWORD="password"

## shell 函数:模拟 SSH 公钥私钥文件生成的人机交互过程
sshkeygen(){
    yum install -y expect
    expect -c "
    spawn ssh-keygen
    expect {
        \"ssh/id_rsa):\" {send \"\r\";exp_continue}
        \"passphrase):\" {send \"\r\";exp_continue}
        \"again:\" {send \"\r\";exp_continue}
    }
    "
}

## shell 函数:模拟配置 SSH 免密登录过程的人机交互过程
sshcopyid(){
    expect -c "
    spawn ssh-copy-id $1
    expect {
        \"(yes/no)?\" {send \"yes\r\";exp_continue}
        \"password:\" {send \"$2\r\";exp_continue}
    }
    "
}

## 本机生成密钥对
sshkeygen

## 然后本机跟其他服务器建立 SSH 免密登录(包括自己)
for SSH_HOST in ${BASE_HOST_LIST}
do
    sshcopyid ${SSH_HOST} ${BASE_PASSWORD}
done
 

http://www.lryc.cn/news/335907.html

相关文章:

  • 基于springboot+vue+Mysql的职称评审管理系统
  • GitLab教程(一):安装Git、配置SSH公钥
  • 【算法】无序数组的两数之和 - map标记
  • Prime (2021): 2
  • React 状态管理:安全高效地修改对象属性的 3 种方法
  • python实现pdf的页面替换
  • [AIGC] Java List和Map常用API以及其Python实现方式对照介绍
  • 零基础如何闯入IT的神秘大门?
  • java程序 .exe启动nginx防止重复启动,已解决
  • 二十一、Rust 反射 获取类型
  • Flutter Engine引擎概念
  • 【运行环境】加载资源的形式
  • 备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼
  • 书生·浦语大模型第二期实战营第二课笔记和基础作业
  • 成功解决> 错误: 无效的源发行版:17
  • 深度剖析:网络安全中的红蓝对抗策略
  • Java异常处理之旅:解救迷失的程序员(二)
  • 网络安全介绍
  • 分享一个好看的APP下载分发页,App Store风格
  • C++ 获取数组大小、多维数组操作详解
  • 苹果电脑怎么彻底删除软件 苹果电脑卸载软件在哪里 cleanmymac x怎么卸载 mac废纸篓怎么删除
  • STM32F407 FSMC并口读取AD7606
  • WebGPU vs. 像素流
  • Windows下docker-compose部署DolphinScheduler
  • 微服务项目sc2024通用Base工程
  • git学习 1
  • HTML - 请你说一下如何阻止a标签跳转
  • 【CV】ORB算法
  • 【算法】Cordic算法的原理及matlab/verilog应用
  • QT:信号与槽