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

Luna HSM执行pscp命令报Token number 2无法识别、错误22如何解决

故障现象

在Luna HSM环境下执行pscp命令时触发异常,具体报错特征如下:

  • 核心参数错误提示:

    Token number 2 (-d) not recognized

  • 命令返回码:22,对应错误类型为 Invalid argument(无效参数)
  • 连带致命错误提示:

    Fatal: Received unexpected end-of-file from server in Luna HSM

故障根因

该异常为参数解析冲突叠加配置错误触发,EOF报错为前置错误的连带结果,并非独立网络故障:

  • 参数解析冲突:Luna HSM对原生pscp做了功能扩展,新增-d <槽位号>参数用于指定操作对应的HSM token槽位,但原生pscp本身也预留了-d参数位,且不接受数字格式的参数值。如果执行命令时将HSM扩展参数放在pscp原生参数的解析位置,会被pscp直接识别为非法参数,直接抛出22无效参数错误。
  • 连接异常中断:pscp在参数解析阶段就异常退出,没有完成和Luna HSM服务端的连接握手流程,服务端主动断开连接时客户端就会抛出意外EOF的致命提示。
  • 额外触发条件:如果参数格式正确仍然提示token编号无法识别,说明当前HSM客户端枚举到的有效槽位中不存在编号为2的token,属于槽位编号配置错误。
修复方案

按以下优先级排查修复:

  1. 修正命令参数格式,所有Luna HSM专属的扩展参数必须放在pscp命令的最后,且在扩展参数前加--分隔符,明确告诉pscp分隔符后的参数不属于原生参数范围,不做原生参数解析。
    错误命令示例:
    pscp -d 2 ./local_file.par hsm_user@hsm_ip:/partition_path/
    正确命令示例:
    pscp ./local_file.par hsm_user@hsm_ip:/partition_path/ -- -d 2
  2. 执行Luna客户端自带的槽位查询命令,确认实际可用的token槽位编号,替换命令中错误的槽位号2:
    • 直接在shell执行vtl listslots查看所有客户端可识别的HSM槽位
    • 或进入lunacm交互界面执行slot list查询可用槽位
  3. 以上两步操作完成后如果仍报EOF错误,执行systemctl restart ntls重启HSM客户端的NTLS网络服务,确认当前操作用户属于HSM客户端用户组、拥有对应分区的操作权限后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:15:31