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)
.
Account (DB)
Conta a ser utilizada pelo componente. Contas suportadas: Basic, Kerberos e Private Key.
N/A
String
Username (DB)
Deve ser usado apenas quando o account type for Private Key.
N/A
String
Host (DB)
Nome do host ou endereço IP para realizar a conexão.
N/A
String
Port (DB)
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