Compare a rota SSH do Jenkins na conta do agente de build
Inspecione o usuário, a configuração SSH efetiva e o caminho do auxiliar no agente que executa a etapa, em vez de confiar numa execução interativa como root.
Execute estes comandos na mesma conta de agente e contexto de build da etapa SSH que falha:
id -un
ssh -G deploy-targetSubstitua deploy-target pelo nome SSH exato usado pelo build. Compare o hostname, a porta e proxycommand resultantes com a execução interativa que funciona.
| Diferença a verificar | Efeito |
|---|---|
| Usuário do sistema e diretório pessoal | Seleciona os ficheiros SSH e as permissões do usuário |
| Nome do destino | Seleciona as seções Host e as configurações incluídas |
| Executável/caminho do ProxyCommand | Determina se o auxiliar consegue iniciar nesse ambiente |
| Opções de linha de comando do SSH | Podem selecionar outro ficheiro de configuração ou substituir um valor |
O diagnóstico detalhado do SSH pode mostrar quais ficheiros foram lidos se a diferença continuar pouco clara. JENKINS_HOME é a localização de dados do Jenkins, não um diretório pessoal universal para usuários de agentes remotos. Provisione a configuração SSH, a autenticação e os dados de chave de host pretendidos na máquina e na conta que realmente executam o comando.
No Ncat --proxy, a porta do proxy é um destino de saída, não um listener local que o auxiliar associe. O sucesso apenas como root não identifica por si só um problema de porta de escuta privilegiada.