You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

尝试创建CSR时CloudHSM主动关闭连接的原因排查

问题描述

已部署EC2实例,可正常连接并登录CloudHSM集群,完成用户配置,端口(2223)和虚拟网络连通性无异常。执行以下keytool命令生成密钥对:

keytool -genkeypair -alias Keystore \
-keyalg rsa -keysize 4096 \
-sigalg sha512withrsa \
-keystore keystore.store \
-storetype CLOUDHSM \
-J-classpath '-J/opt/cloudhsm/java/*'

得到如下错误输出:

thread 'CloudHSM Worker' panicked at 'failed to create appender: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-appender-0.2.2/src/rolling.rs:499:53 
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace 
Error writing to log file. Falling back to standard error. 
2023-10-12T18:39:49.648Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::connection::connection_pool] 添加HSM连接到连接池: HSM { IP: "xx.xx.x.xx", Port: 2223 } 
2023-10-12T18:39:49.648Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::hsm_connection_impl] HSM xx.xx.x.xx:2223 正在连接 
2023-10-12T18:39:49.654Z INFO [8277] ThreadId(2) [cloudhsm_provider_common::server_connection::common] 初始化新连接: HSM { IP: "xx.xx.x.xx", Port: 2223 } 
2023-10-12T18:39:49.706Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::server_properties] 与服务器版本握手成功。收到版本: ComponentVersion { major: 2, minor: 8 } 
2023-10-12T18:39:49.706Z INFO [8277] ThreadId(2) [hsm1_marshaling::server_handshake] 报告SDK版本 Jce:5.10.0-el6:CodeBuildBatchProject-uFu5sNXfquqK:7466104f-c1f7-4f5b-aa7e-19d490914153 
2023-10-12T18:39:49.819Z INFO [8277] ThreadId(1) [cloudhsm_provider::hsm1::connection::connection_pool::cluster_info_message] 当前集群版本为0; 传入集群版本为213903432 
2023-10-12T18:39:49.823Z INFO [8277] ThreadId(2) [cloudhsm_provider_common::server_connection::common] 初始化新连接: HSM { IP: "xx.xx.x.xx", Port: 2223 } 
2023-10-12T18:39:49.884Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::hsm_connection_impl] HSM xx.xx.x.xx:2223 的FIPS状态为2 
2023-10-12T18:39:49.884Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::hsm_connection_impl] 更新HSM xx.xx.x.xx:2223 的状态 
2023-10-12T18:39:49.885Z INFO [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::hsm_connection_impl] HSM xx.xx.x.xx:2223 已连接并就绪 
2023-10-12T18:39:49.887Z INFO [8277] ThreadId(1) [cloudhsm_provider::hsm1::connection::connection_pool::cluster_info_message] 待添加的HSM: {HSM { IP: "xx.xx.x.xx", Port: 2223 }} 
2023-10-12T18:39:49.887Z INFO [8277] ThreadId(1) [cloudhsm_provider::hsm1::connection::connection_pool::cluster_info_message] 待移除的HSM: {} 
输入密钥库密码:
重新输入新密码: 不匹配。请重试 
输入密钥库密码:
重新输入新密码: 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher::dispatcher_error] 调度器错误: 读取数据包失败.. 内部错误: early eof 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher::reader] 无法从套接字读取响应。错误: 调度器已断开连接。错误: "HSM主动关闭了连接。" 
2023-10-12T18:41:21.004Z INFO [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher] 退出所有活动调度器操作 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider::hsm1::hsm_connection::error] 与服务器断开连接。消息: Tls断开连接。原因: HSM主动关闭了连接。 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider_common::keep_alive] xx.xx.x.xx的保活失败。内部错误: 发生内部错误。错误: HSM已断开连接 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher::dispatcher_error] 调度器错误: 读取数据包失败.. 内部错误: early eof 
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher::reader] 无法从套接字读取响应。错误: 调度器已断开连接。错误: "HSM主动关闭了连接。" 
2023-10-12T18:41:21.004Z INFO [8277] ThreadId(1) [cloudhsm_provider_common::dispatcher] 退出所有活动调度器操作 
keytool错误: com.amazonaws.cloudhsm.jce.jni.exception.ProviderException: 底层Provider连接已丢失: 函数执行期间与设备的通信丢失。
2023-10-12T18:41:21.004Z ERROR [8277] ThreadId(2) [cloudhsm_provider::hsm1::hsm_connection::error] 与服务器断开连接。消息: Tls断开连接。原因: HSM主动关闭了连接。 
2023-10-12T18:41:21.004Z WARN [8277] ThreadId(2) [cloudhsm_provider::hsm1::session::key_management::find::find_key_builder_impl] 无法从HSM xx.xx.x.xx:2223获取对象。内部错误: 与Provider的底层连接已丢失
问题原因及解决步骤

核心问题分析

  1. 日志目录权限不足:日志开头的Permission denied错误表明CloudHSM Worker线程无法写入日志目录,会干扰连接稳定性。
  2. HSM会话超时:输入密码过程耗时过长,触发HSM会话超时机制,导致HSM主动关闭连接。

解决步骤

  • 修复日志目录权限:
    确保当前用户拥有CloudHSM日志目录的读写权限,执行以下命令:

    sudo chown -R $USER:$USER /opt/cloudhsm/logs/
    sudo usermod -aG cloudhsm $USER
    

    执行后重新登录EC2实例,使权限变更生效。

  • 避免密码输入超时:

    • 输入密钥库密码时尽量快速完成,避免间隔超过HSM默认会话超时时间。
    • 测试场景下可直接在命令中指定密码(生产环境不推荐),添加参数:
      -storepass 你的密钥库密码 -keypass 你的密钥密码
      
  • 验证用户权限:
    确认使用的CloudHSM用户为**Crypto User(CU)**角色,该角色拥有密钥生成权限;若使用的是Crypto Officer(CO)管理角色,需切换为CU用户执行命令。

  • 调整会话超时配置:
    若频繁出现超时,可通过CloudHSM控制台修改集群的会话超时参数,延长允许的无操作时间。

内容的提问来源于stack exchange,提问作者Solv_it_kas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:25:55