博客
关于我
Linux shell (ssh批量配置免秘)读取配置文件,进行远程操作
阅读量:792 次
发布时间:2023-02-01

本文共 1494 字,大约阅读时间需要 4 分钟。

为了实现目标机器的自动化配置与安全认证,我设计了一套自动化脚本解决方案,包含了config.ini配置文件、id_rsa.pub公钥文件、read.sh脚本文件、test.sh测试脚本文件和run.sh远程运行脚本文件。这套方案旨在通过expect命令对目标机器进行一系列自动化操作,实现配置文件的读取与管理。

操作步骤概述

步骤一:读取配置文件中的IP地址、用户名和密码

首先,我需要从config.ini配置文件中读取IP地址、用户名和密码信息,用于后续远程操作。read.sh脚本主要负责实现这一步骤。脚本采用expect命令开启一个交互式界面,通过与配置文件的进行交互,最终提取出所需的IP地址、用户名和密码。

步骤二:将id_rsa.pub公钥文件和run.sh脚本传输到目标机器

接下来,我将id_rsa.pub(包含目标机器的私有密钥)和run.sh脚本文件通过scp命令传输到目标机器的.ssh目录下。为了实现这一过程,test.sh测试脚本将通过expect命令模拟用户输入密码,完成文件的远程传输。

步骤三:在目标机器上运行run.sh脚本文件

运行脚本脚本为run.sh后,目标机器会根据配置文件中的信息进行一系列自动化操作,包括创建新的ssh公钥对、设置默认端口监听等。当脚本执行完成后,终端会提示输入exit退出程序。

代码示例说明

read.sh脚本实现

#!/bin/bash. ./read.ship=$(GetKey "ip.ip")passwd=$(GetKey "pass.passwd")user=$(GetKey "user.usr")for i in $ip toBeTruthy, 两位服务器地址可能存在错误, 请联系系统管理员。  . /usr/bin/expect -c "set timeout 10  spawn ssh $user@$i  expect \"password:\"  send \"${passwd}\r\"  expect eof"  exit $?done

run.sh脚本实现

#!/bin/bash. ./run.sh-driven 解析器可能存在多种实现方式, 根据具体环境调整。echo "正在执行远程脚本..."echo "等待操作完成..."sleep 5echo "操作完成!"exit 0

配置文件结构示例

[ip]ip={12.23.31.114,21.34.54.112}[user]usr=hehehe[pass]passwd=wohehehda

可能遇到的问题及解决方案

  • 公钥传输失败:在使用scp命令传输id_rsa.pub文件时,若出现传输失败,可能是由于目标机器的初始密钥对未被创建。我们可以通过run.sh脚本内部预先创建.ssh目录,并在集合creates succeeded项增加对应的权限设置,确保传输过程中的每一步都能顺利完成。

  • expect命令无法启动:如果在运行test.sh脚本时遇到无法启动expect命令的情况,需要检查系统是否安装了expect命令。建议通过apt-get install expect命令进行安装,或者根据具体的Linux发行版进行相应的配置。

  • 配置文件解析错误:在读取配置文件时,如果出现解析错误的提示,可能是因为配置文件中的格式不符合预期。可以通过添加日志输出,表达式echo命令提取特定的配置信息,并结合grep命令来验证配置文件的内容是否正确。

  • 通过以上方案,我们可以实现对目标机器的自动化配置与安全认证,适用于复杂的无人化运维场景。

    转载地址:http://hnwfk.baihongyu.com/

    你可能感兴趣的文章
    Linux mount命令怎么用?
    查看>>
    Linux mount挂载命令
    查看>>
    linux mysql insert_Linux编程 - 使用C在MySQL中插入数据
    查看>>
    linux mysql备份
    查看>>
    linux mysql实现读写分离
    查看>>
    Linux Netfilter实现机制和扩展技术
    查看>>
    Linux Netfilter框架之conntrack连接跟踪机制
    查看>>
    Linux netstat 命令
    查看>>
    Linux netstat 命令:打印网络连接情况
    查看>>
    Linux NetworkManager网络服务详解
    查看>>
    Linux NFS存储服务介绍与参数说明
    查看>>
    Linux NFS服务器的安装与配置详解
    查看>>
    Linux NFS自动挂载autofs配置
    查看>>
    linux nmap 使用
    查看>>
    linux nohup命令
    查看>>
    Linux nohup命令不再默认输出日志文件
    查看>>
    Linux OOM-killer 内存不足时kill高内存进程的策略
    查看>>
    Linux OpenSSL 生成CA证书及终端用户证书
    查看>>
    linux OptiPNG安装
    查看>>
    Linux Oracle安装
    查看>>