22、Expect脚本使用与安全相关技术详解

Expect脚本使用与安全相关技术详解

1. 初始期望与连接失败处理

在进行远程连接时,第一个 expect 命令会同时查找密码提示、shell提示以及各种失败情况。若不需要密码,最终模式匹配成功,脚本会继续执行下一个命令;若远程计算机提示输入密码,会请求用户提供密码。当前的超时时间会保存在 old_timeout 中,之后再恢复,这类似于在过程中设置局部变量。
当用户提供密码后,脚本会将其发送到远程主机, exp_continue 会使 expect 命令返回并继续查找更多输出,期望能找到shell提示。若出现各种失败情况,都会反馈给用户。若检测到 eof ,会打印远程主机的剩余输出,该输出可能包含远程主机关闭连接的原因。

以下是连接失败时的代码处理示例:

send_user "connection to host failed: "
send_user "$expect_out(buffer)"
exit
} -re $prompt
}
2. 脚本的安全保护

在自动化操作中,除读取密码外的其他操作通常都可自动化。出于安全考虑,密码不应作为参数传递给脚本。可将密码直接嵌入脚本中,有文件保护和主机保护两种方式来保障脚本安全。

2.1 文件保护方式

包含密码的脚本应让普通用户(如使用 cat vi 等工

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值