一个网友反馈批量在腾讯云购买的服务器10台部分连接失败!!这里连接失败特指使用服务器秘钥的方式登录失败。我这边也模拟用户的场景复测了一下一次性购买20台服务器,大概思路:
- 是先判断端口是否工作正常,如果不正常再来根据情况排查
- 再来通过脚本批量测试秘钥登录服务器,是否有异常。
这里拆分两块来完成,分别是检测端口是否工作正常和通过秘钥方式来模拟登录服务器。
先确认端口是否工作正常
如何批量检测这些服务器端口是否正常是摆在眼前的一个问题,当然检测服务器端口是否正常有很多方式,哪种是最快的让我想到以下方式推荐大家。
首先下载nc (或叫netcat)
1 | yum install nc |
编辑以下Shell脚本。
1 | #!/bin/bash |
nc 命令的参数解释:
- -z 表示zero,表示扫描时不发送任何数据
- -w1 超时秒数,后面跟数字
它也可以写成一行
1 | if nc -z -w1 ip 80 ;then echo "ok"; else echo "fail"; fi |
将要测试的IP放到ipList文件中,然后执行脚本效果如下。
再来确认秘钥登录
这里可以使用expect脚本来实现,脚本如下
1 | #!/usr/bin/expect |
参数解释
- djangowang.pem 为服务器秘钥
- host为检测服务器IP
- command 为执行的命令