端口与体系
544 对应 IANA 登记的 kshell,登记说明为 krcmd,是经过 Kerberos 认证的 rsh 服务端口,用于在远端主机上执行命令。它解决的是传统 rsh 凭据明文传输的问题,但整体仍属于应淘汰的远程执行家族,与 543 的登录服务配套。
容易被忽略的一点
远程执行类服务的使用方常常不是人,而是脚本与定时任务。判断一台老主机是否真正完成整改,不能只看登录方式,还要看自动化里是否仍在调用老的远程命令工具。
基本信息
| 服务名称 | kshell |
|---|---|
| IANA 登记说明 | krcmd |
| 传输协议 | TCP 与 UDP |
| 所属体系 | Kerberos 化的 r 系列服务 |
| 配对端口 | 543 klogin |
| 当前状态 | 应弃用,建议改用 SSH |
典型使用场景
- 老集群服务清点:确认是否还有远程执行服务在监听
- 自动化链路整改:把脚本中的远程执行工具替换为 SSH 非交互式执行
- 信任配置审计:检查主机互信文件与密钥是否仍在生效
- 扫描报告解读:扫描器标注 kshell,与集群清单比对
- 放行规则回收:清理历史远程执行通道的策略条目
- 未知服务处置:无对应组件时按未知服务流程取证
定位与信任配置检查
定位与信任配置检查
# Linux:查看 543 与 544 的监听
ss -lntup | grep -E ':(543|544)\b'
# 检查主机级互信配置
cat /etc/hosts.equiv 2>/dev/null
ls -l ~/.rhosts 2>/dev/null
# 远程执行建议改用加密通道(示例)
# ssh user@host 'uptime'远程执行方式对照
| 方式 | 特点 | 现状 |
|---|---|---|
| rsh 与 kshell | 明文或 Kerberos 化的远程执行 | 历史环境,应淘汰 |
| SSH 非交互执行 | 加密通道内执行单条命令 | 现代标准做法 |
| 判读依据 | 脚本与定时任务中的调用命令 | 比端口号更能反映真实依赖 |
远程执行通道对主机互信配置高度依赖:关闭端口却不清理互信文件,其他主机依然会被视为可信来源。整改时两者必须一起做,并复查是否还有其他主机保留互信关系。
替换远程执行方式时最常见的坑是退出码与输出格式差异:老工具与新工具的返回码语义不同,脚本里的判断条件如果不跟着改,会出现执行成功却被判为失败的怪现象。