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)
.
Parâmetro | Descrição | Valor padrão | Tipo de dado |
---|---|---|---|
Account | Conta a ser utilizada pelo componente. Contas suportadas: Basic, Kerberos e Private Key. | N/A | String |
Username | Deve ser usado apenas quando o account type for Private Key. | N/A | String |
Host | Nome do host ou endereço IP para realizar a conexão. | N/A | String |
Port | Número da porta - geralmente 22. | 22 | Inteiro |
Server Host Key | Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de server host key. Cada algoritmo deve ser configurado separadamente. | N/A | String |
Public Key Algorithms | Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de algoritmos public key. Cada algoritmo deve ser configurado separadamente. | N/A | String |
KEX Algorithms | Especifica quaisquer algoritmos adicionais a serem suportados para a configuração de algoritmos KEX (key exchange). Cada algoritmo deve ser configurado separadamente. | N/A | String |
Custom Environment Variables | Se a opção estiver habilitada, você deverá informar as variáveis de ambiente de forma customizada no campo Environment Variables (ex: [{"key": "MYVAR", "value": "VAR_VALUE"}]). | N/A | String (JSON) |
Environment Properties | Nome e valor das variáveis de ambiente a serem passadas para execução no servidor de SSH remoto. Essas variáveis devem ser cadastradas no sshd_config. Exemplo do cadastro no ssh_config: AcceptEnv MYVAR | N/A | String (JSON) |
Command | Campo utilizado para especificar os comandos a serem executados no servidor SSH. | N/A | String |
Ignore Output | Se a opção estiver habilitada, a execução do pipeline ignora as respostas exibidas no stdout ou stderr no servidor SSH. Caso contrário, serão exibidos os campos stdout e stderr na saída do componente. | False | Booleano |
Stdout As File | Se a opção estiver habilitada, a resposta do resultado stdout será gravada em um arquivo. Caso contrário, será exibida como string na saída do componente. | False | Booleano |
Stdout File Name | Nome do arquivo a ser criado com as informações do stdout. | N/A | String |
Stderr As File | Se a opção estiver habilitada, a resposta do resultado stderr será gravada em um arquivo. Caso contrário, será exibida como string na saída do componente. | False | Booleano |
Stderr File Name | Nome do arquivo a ser criado com as informações do stderr. | N/A | String |
Connection Timeout | Tempo de expiração da conexão com o servidor (em milissegundos). | 30000 | Inteiro |
Server Alive Interval | Tempo que o componente vai manter a conexão ativa (em milissegundos). | 60000 | Inteiro |
Fail On Error | Se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success". | False | Booleano |
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: 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” 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:
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:
Atualizado