Ubuntu 20环境下OMS Agent心跳异常:证书验证失败问题排查
OMS Agent SSL证书验证失败(omsagent用户无法连接)排查方案
针对Ubuntu 20服务器上OMS Agent出现的certificate verify failed (unable to get local issuer certificate)错误,结合root用户可正常连接、omsagent用户无法连接的现象,可按以下步骤排查:
1. 检查omsagent用户对证书文件的访问权限
虽然/etc/ssl/certs通常配置为全局可读,但仍需确认omsagent用户是否有读取权限:
# 检查证书目录权限 su - omsagent -c "ls -ld /etc/ssl/certs" # 检查合并根证书文件权限 su - omsagent -c "ls -l /etc/ssl/certs/ca-certificates.crt"
- 若目录权限不足(无
rx权限),执行:chmod o+rx /etc/ssl/certs - 若证书文件权限不足(无
r权限),执行:chmod o+r /etc/ssl/certs/ca-certificates.crt
2. 对齐自定义OpenSSL的证书路径配置
自定义OpenSSL的OPENSSLDIR为/usr/local/ssl,需确认omsagent用户的SSL证书路径指向正确:
- 临时测试验证:
su - omsagent export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt # 再次测试连接OMS端点 openssl s_client -connect <OMS_ENDPOINT>:443 - 若测试有效,永久配置:
- 编辑omsagent用户的环境配置文件(如
/home/omsagent/.bashrc),添加export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt - 或修改OMS Agent的systemd服务文件(通常在
/etc/systemd/system/omsagent.service),添加环境变量:Environment="SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt" - 重载systemd并重启agent:
systemctl daemon-reload && systemctl restart omsagent
- 编辑omsagent用户的环境配置文件(如
3. 检查OMS Agent自身的证书配置
查看OMS Agent的主配置文件(如/opt/microsoft/omsagent/config/omsagent.conf),确认是否指定了自定义证书路径:
- 查找类似
SSLCACertificateFile的配置项,确保路径指向的文件存在且omsagent用户有权限读取 - 若配置项指向
/usr/local/ssl/certs下的文件,需确认该目录包含完整的根证书链,或创建符号链接到/etc/ssl/certs:ln -s /etc/ssl/certs/ca-certificates.crt /usr/local/ssl/certs/ca-certificates.crt
4. 验证omsagent用户的OpenSSL环境一致性
确认omsagent用户使用的OpenSSL版本与root一致:
su - omsagent -c "openssl version -a"
- 若版本不一致,检查omsagent用户的
PATH变量,确保优先指向自定义OpenSSL的bin目录(/usr/local/ssl/bin),可在用户profile中添加:export PATH=/usr/local/ssl/bin:$PATH
内容的提问来源于stack exchange,提问作者Udish
相关产品推荐
相关产品推荐

