Pular para a documentação
DocumentaçãoComandos SSH

Comandos SSH

Deixe um agente executar comandos por SSH em um servidor público enquanto o Sallyport guarda a chave privada.

Nesta página

O agente envia um comando. O Sallyport entra com a sua chave ou senha, executa e devolve a saída. O agente não vê nenhuma das duas.

Adicione o host

  • Abra Conectar um host SSH. A partir de Chaves, é Adicionar chave e depois Host SSH em Origem da chave.
  • Digite um Nome da conexão. Os agentes o veem, e a ferramenta do host leva esse nome.
  • Digite o Nome de host público ou endereço IP, a Porta SSH e o Usuário SSH. A porta é 22, a menos que você a mude.
  • Escolha o Espaço de trabalho se tiver mais de um, e o Ambiente: Produção ou Teste.
  • Em Entrar com, mantenha Chave privada e cole a Chave privada OpenSSH. Se a chave tiver frase secreta, digite-a em Frase secreta da chave (opcional).
  • Um servidor que não aceita chave, como hospedagem compartilhada, um roteador ou um equipamento: escolha Senha e digite a Senha SSH. O Sallyport responde com ela tanto ao pedido de senha quanto ao pedido interativo do servidor.
  • Toque em Salvar conexão SSH. A chave é só de escrita, e ninguém consegue lê-la de volta.

O Sallyport verifica o endereço ao salvar. Um endereço privado, ou um que aponte para o próprio Sallyport, é recusado.

Confira a identidade do servidor

Verificação da chave do host (opcional) oferece duas opções.

OpçãoO que acontece
Fixar a primeira chave após a autenticação SSH bem-sucedidaO padrão. O Sallyport grava a impressão digital da chave do servidor no primeiro login bem-sucedido e recusa qualquer mudança depois.
Exigir uma impressão digital que eu verifiqueiCole a impressão digital SHA256: que o dono do servidor passou em Impressão digital SHA-256 verificada do host. O Sallyport só se conecta a um servidor com essa chave.

A página da conexão mostra a impressão digital em Verificação da chave do host. Se a chave do servidor mudar, as chamadas param com host_key e nenhum comando roda.

Primeiro confirme a chave nova com o dono do servidor. Depois abra a página da conexão, toque em Substituir a chave fixada em Verificação da chave do host, cole a impressão digital SHA256: nova e toque em Fixar esta chave. Aprovações dadas para a chave antiga deixam de valer. Um script faz o mesmo com uma chave de console (API REST): GET /v1/ssh-hosts lista seus hosts com o id de cada um, e PATCH /v1/ssh-hosts/{id} com known_host_key fixa a chave nova.

Shell · encontre o id do host e fixe a chave nova
export SP_CONSOLE_KEY='sp_ck_…'

curl --fail-with-body -H "Authorization: Bearer $SP_CONSOLE_KEY" \
  https://mcp.sallyport.cloud/v1/ssh-hosts

curl --fail-with-body -X PATCH -H "Authorization: Bearer $SP_CONSOLE_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"known_host_key": "SHA256:<new fingerprint>"}' \
  "https://mcp.sallyport.cloud/v1/ssh-hosts/<host-id>"

Escolha quais comandos esperam por você

A conexão nova vai para todo agente ativo do seu espaço de trabalho e do seu ambiente. Por padrão, os comandos rodam sem perguntar.

Para aprovar comandos, abra o agente em Agentes, encontre a conexão na lista Acesso e ative Perguntar sempre. Ou ajuste uma classe de cada vez:

  • Leitura: comandos simples de leitura de uma lista fixa, como ls, cat, tail, git status, docker ps e kubectl get.
  • Destrutiva: comandos como rm, dd, mkfs, kubectl delete e docker system prune.
  • Escrita: todo o resto. Um pipe, ;, um redirecionamento, $, um curinga, sudo ou sh -c tornam um comando escrita, mesmo quando ele só lê.

O cartão de aprovação mostra o host e o comando exato. É esse comando, byte a byte, que roda.

Execute um comando

O agente mantém a sua conexão MCP com o Sallyport. list_access nomeia a ferramenta do host, que termina em _exec. A ferramenta aceita estes argumentos:

ArgumentoSignificado
cmdO comando inteiro, como você digitaria num terminal. Obrigatório.
timeout_sPara o comando depois desse número de segundos. Um comando para aos 5 minutos em qualquer caso.
intentUma frase sobre o motivo, mostrada a quem aprova.
call_idContinua uma chamada que espera aprovação.
max_inline_bytesQuanto da saída vem na resposta. 24 KiB por padrão.
Argumentos de uma chamada à ferramenta do host
{
  "cmd": "df -h",
  "intent": "Check free disk space before the deploy"
}

Quando o agente tem um host SSH, ele também recebe ssh_exec. Ela aceita os mesmos argumentos e mais host. Um host fora da lista do agente devolve um link onde você libera o acesso.

O mesmo host dá ao agente os seus arquivos: _sftp_read e _sftp_write os listam, leem, gravam, renomeiam e excluem por SFTP, com esta chave e esta chave de host. Veja Arquivos por SFTP.

Leia o resultado

  • A resposta traz exit_code, stdout e stderr. A saída que não é UTF-8 chega como stdout_base64 ou stderr_base64.
  • A saída longa é cortada em max_inline_bytes, e fetch_body lê o resto. Um comando pode imprimir até 512 MiB.
  • Um comando não recebe terminal nem entrada. Use opções que pulam perguntas, como apt-get -y.
  • Abra a chamada em Atividade para ver Resultado do comando SSH: o destino, Código de saída, Impressão digital da chave do host e o tamanho da saída.