在与失败的 SSH 步骤相同的代理账户和构建环境中运行以下命令:

id -un
ssh -G deploy-target

把 deploy-target 换成构建实际使用的确切 SSH 名称。将得到的 hostname、port 和 proxycommand 与可正常工作的交互式启动结果进行比较。

需要检查的差异影响
操作系统用户与主目录决定使用哪个用户的 SSH 文件和权限
目标名称决定选用哪些 Host 段和包含的设置
ProxyCommand 可执行文件/路径决定辅助程序能否在该环境中启动
SSH 命令行选项可能选用另一个配置文件或覆盖某个取值

如果差异仍不清楚,详细的 SSH 诊断可以显示读取了哪些文件。JENKINS_HOME 是 Jenkins 的数据位置,并不是远程代理用户的通用主目录。请在实际执行该命令的机器和账户上准备所需的 SSH 配置、认证和主机密钥数据。

在 Ncat 中,--proxy 的代理端口是出站目标,而不是辅助程序绑定的本地监听端口。仅以 root 身份成功本身并不能说明存在特权监听端口问题。

相关文章