Windows下运行OpenSSL的.sh脚本编写及预部署网络测试技术问询
在Windows上测试AWS TLS连接的OpenShell脚本实现
我刚搞定了一个能在Windows环境运行的Shell脚本,用来提前验证目标网络到AWS云平台的OpenSSL连接(针对8883端口,也就是MQTT over TLS的常用端口),脚本代码如下:
openssl s_client -connect [ADDRESS]:8883 -cert ./device.cert.pem -key ./device.key.pem
小修正:原脚本末尾的
read属于冗余内容,去掉后脚本可以正常执行并输出连接验证结果。记得把[ADDRESS]替换成你的实际AWS服务端点地址。
写这个脚本的初衷:
我们团队有一批要装在天花板上的Linux传感器,这些设备本身就是通过OpenSSL连接AWS的。为了避免等实体传感器运到部署场地才发现网络不通、证书无效这类问题,我想先在目标网络里部署测试工具,用这个脚本提前跑一遍连接测试:
- 因为传感器也是基于Linux+OpenSSL的架构,这个测试能高度模拟真实设备的连接场景,结果参考性很强
- 提前测试可以排查目标网络的防火墙是否放行8883端口、证书文件是否匹配有效、AWS端点是否可达等核心问题,避免后期现场踩坑
使用时的几个注意点:
- 确保Windows环境已经安装了OpenSSL工具,并且将其添加到系统PATH中,这样可以直接在Git Bash、WSL或者其他支持Shell的Windows终端里运行脚本
- 把传感器对应的
device.cert.pem和device.key.pem证书文件放在脚本同一目录下,或者在脚本里指定证书的完整路径 - 运行成功的话,你会在输出里看到
Verify return code: 0 (ok)的提示,这就说明连接和证书验证都没问题了
内容的提问来源于stack exchange,提问作者Oren Levi
相关产品推荐
相关产品推荐

