SSH Remote Command

Descubra mais sobre o componente SSH Remote Command e saiba como utilizá-lo na Digibee Integration Platform.

O SSH Remote Command permite que se estabeleça uma conexão com um servidor SSH e que shell scripts sejam executados.

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

O conector SSH Remote Command usa uma biblioteca de implementação que desativou por padrão algoritmos específicos que foram considerados inseguros. Os parâmetros Server Host Key, Public Key Algorithms e KEX Algorithms estão disponíveis para quando for necessário ativar estes algoritmos para estabelecer uma conexão SSH. Embora seja possível usar essa configuração, não é recomendável usar algoritmos inseguros.

Fluxo de mensagens

Entrada

Não se espera nenhuma mensagem específica de entrada.

Saída

Ao executar um componente SFTP utilizando as operações download, upload ou move, a seguinte estrutura de JSON será gerada:

{
    "stdout": "xpto",
    "stderr": "xpto_err",
    "stdoutFileName": "stdout.txt",
    "stderrFileName": "stderr.txt",
    "success": "true"
}
  • stdout: resposta com sucesso da execução do script.

  • stderr: resposta com erros da execução do script.

  • stdoutFileName: caminho do arquivo salvo contendo as informações exibidas no stdout. Essa propriedade só será exibida caso a flag Stdout As File esteja habilitada.

  • stderrFileName: caminho do arquivo salvo contendo as informações exibidas no stderr. Essa propriedade só será exibida caso a flag Stderr As File esteja habilitada.

  • success: "true" se houve uma conexão e o script foi executado mesmo se retornar erros no stderr.

Saída com erro:

{
  "success": false,
  "message": "Could not execute the SSH remote command",
  "error": "java.net.SocketTimeoutException: connect timed out"
}
  • success: “false” quando a operação falha.

  • message: mensagem sobre o erro.

  • exception: informação sobre o tipo de erro ocorrido.

A manipulação de arquivos dentro de um pipeline ocorre de forma protegida. Os arquivos ficam disponíveis em diretório temporário que somente o pipeline sendo executado tem acesso.

Para entender melhor o fluxo das mensagens na Digibee Integration Platform, leia o artigo Processamento de mensagens.

SSH Remote Command em ação

Executando um script e recebendo as informações no JSON de resposta do componente

Hostname: <HOST>

Port: <PORT>

Command: echo $MYNAME && echo error output >&2

Environment Variables: [{"key":"MYNAME", "value":"TEST"}]

Stdout As File: desabilitado

Stderr As File: desabilitado

Fail On Error: desabilitado

Resultado:

{
    "stdout": "TEST",
    "stderr": "error output",
    "success": "true"
}

Executando um script e salvando as informações em arquivos

Hostname: <HOST>

Port: <PORT>

Command: echo $MYNAME && echo error output >&2

Environment Variables: [{"key":"MYNAME", "value":"TEST"}]

Stdout As File: habilitado

Stdout File Name: stdout.txt

Stderr As File: habilitado

Stderr File Name: stderr.txt

Fail On Error: desabilitado

Resultado:

{
    "stdoutFileName": "stdout.txt",
    "stderrFileName": "stderr.txt",
    "success": "true"
}

Atualizado