Pular para o conteúdo

Hosts e grupos

O que cada campo, chave e configuração faz: 99 controles nesta página. É o texto por trás do ⓘ ao lado de cada rótulo nos apps: no computador, passe o ponteiro ou clique (ou pressione F1 no campo); no celular, toque nele.

A linha sob cada nome traz o identificador que o código usa e diz quando só um dos apps tem o controle.

Onde: Hosts › Novo host, ou Editar em um host.

host.label

O nome deste host na sua lista. É só para você: nunca é enviado ao servidor e não é usado para conectar.

  • Exemplo: web-01 (produção)
  • Atenção: Obrigatório, até 256 caracteres.

host.address

Onde o servidor está: um nome de host ou um endereço IPv4 ou IPv6. Só o endereço vai aqui; a porta e o nome de usuário têm campos próprios, então user@host e host:22 são recusados.

  • Exemplo: web.example.com, 10.0.0.12 ou 2001:db8::1

host.group

A pasta em que este host fica. Um host recebe toda configuração que ele mesmo não define do seu grupo, depois dos grupos acima dele e depois de Configurações.

  • Padrão: Sem grupo.
  • Atenção: Mover um host para outro grupo muda todos os valores que ele herda: porta, nome de usuário, chave, hosts de salto e o resto.

host.tags

Palavras livres para encontrar e filtrar hosts, como “prod” ou “database”. Um host pode ter até 64 tags, e o nome de uma tag tem de 1 a 64 caracteres.

  • Exemplo: prod, eu-west, postgres
  • Atenção: No celular, o × ao lado de uma tag neste formulário exclui a tag de todos os hosts, depois de perguntar.

host.os

Qual sistema este host executa, mostrado como ícone e nome no host. Deixado em “Detectar automaticamente”, o Sternway o identifica quando você conecta: pela saudação do servidor SSH e por uma consulta somente leitura ao host (o arquivo os-release, uname e o nome do seu shell de login, que também decide o que os valores embutidos de um snippet podem conter), em um canal próprio, nunca digitada no seu terminal. Escolha um sistema na lista para um host que ele não consegue identificar ou identifica errado, como um roteador que só diz ser Linux; sua escolha é mantida e nada detectado a substitui.

  • Padrão: Detectar automaticamente.
  • Exemplo: Um firewall que responde como um FreeBSD comum: escolha pfSense.
  • Atenção: Isto só muda o que é exibido. Não muda a forma como o Sternway se conecta.

host.notes

Qualquer coisa que você queira lembrar sobre este host. As notas são armazenadas com o host e não são usadas para conectar. Até 10.000 caracteres.

  • Atenção: As notas são sincronizadas como o resto do host, então não guarde senhas aqui.

Onde: O editor de host ou de grupo, abaixo do endereço.

host.port

A porta de rede em que o servidor SSH escuta, de 1 a 65535. Altere-a só se o servidor foi configurado em outra porta. O Mosh e o SFTP também a usam; o Telnet tem sua própria porta.

  • Padrão: 22.
  • Exemplo: 2222

host.credentials · Só no celular

Como este host faz login. “Usar uma identidade salva” pega o nome de usuário, a senha e a chave de uma identidade no seu Chaveiro; “Definir diretamente” permite digitá-los só para este host.

  • Padrão: Definir diretamente.
  • Atenção: Trocar descarta o que a outra opção guardava: escolher uma identidade remove o nome de usuário, a senha e a chave digitados aqui, e escolher “Definir diretamente” desvincula a identidade.

host.username

A conta com a qual você faz login no servidor. Deixe vazio e o app pergunta quando você conectar.

  • Padrão: Nenhum: você é perguntado ao conectar.
  • Exemplo: root, ubuntu ou deploy
  • Atenção: Uma identidade salva escolhida para este host substitui o nome de usuário digitado aqui.

host.password

A senha dessa conta, tentada uma vez ao conectar para que você não precise digitá-la. Deixe vazio para ser perguntado a cada vez ou para fazer login com uma chave.

  • Padrão: Nenhuma.
  • Atenção: Ela é armazenada no cofre com o host e sincronizada com ele, a menos que Configurações › Segurança › “Sincronizar chaves e identidades” esteja desativado; nesse caso, fica neste dispositivo. No desktop, esvaziar o campo significa “sem senha” e também bloqueia a que o grupo forneceria; use Limpar substituição para herdar de novo.

host.identity

Um login salvo no seu Chaveiro: um nome de usuário com senha, chave ou ambos, guardado uma vez e compartilhado por vários hosts. Altere a identidade e todos os hosts que a usam acompanham.

  • Padrão: Nenhuma.
  • Atenção: Uma identidade vale por inteiro: nome de usuário, senha ou chave digitados no mesmo host ou grupo são ignorados enquanto uma identidade estiver escolhida.

host.key

A chave privada com a qual este host faz login em vez de senha. O servidor já precisa confiar na metade pública dela (Chaveiro › Instalar no host faz isso). Só esta chave é oferecida pelo Sternway. No desktop, Configurações › Conexões e SSH pode adicionar as chaves do agente SSH do próprio computador.

  • Padrão: Nenhuma.
  • Atenção: Uma chave protegida por frase secreta pede a frase secreta quando é usada.

host.personalCredentials · Só no computador

Para um host em um cofre de equipe compartilhado: faça login com seu próprio nome de usuário, senha e chave, guardados no seu cofre pessoal, em vez do que a equipe salvou no host. Assim, cada colega usa a própria conta.

  • Padrão: Desativado.
  • Atenção: Sem credenciais pessoais salvas para este host, elas são solicitadas ao conectar.

Onde: O editor de host ou de grupo › Avançado (computador); as seções de baixo do formulário (celular).

host.startupSnippet · Só no computador

Um snippet salvo digitado na sessão, seguido de Enter, assim que ela parecer pronta (veja Comando de inicialização), e digitado de novo cada vez que a sessão reconecta. Ele é usado no lugar do comando de inicialização quando ambos estão definidos; se o snippet tiver sido excluído, o comando de inicialização é usado.

  • Padrão: Nenhum.
  • Atenção: Ele é digitado onde o cursor está, como se você o tivesse digitado, então aparece no terminal e no histórico do shell. Como é executado de novo após uma reconexão, use um snippet que seja seguro repetir.

host.startupCommand

Um comando digitado na sessão, seguido de Enter, assim que ela parecer pronta: no primeiro prompt, quando a integração com o shell o informa, ou então depois de meio segundo sem saída. Ele é digitado uma vez por conexão, portanto de novo cada vez que a sessão reconecta, sozinha ou pelo botão Reconectar, porque uma reconexão inicia um novo shell. Use-o para cair em uma pasta ou anexar ao tmux. Até 4096 caracteres.

  • Padrão: Nenhum.
  • Exemplo: cd /srv/app && tmux attach || tmux
  • Atenção: Ele é digitado, não executado à parte: em um login lento, e no Telnet no prompt de login, pode cair no que estiver na tela, e aparece no terminal e no histórico do shell. Como é executado de novo após uma reconexão, use um comando que seja seguro repetir. Nunca coloque uma senha nele.

host.proxy

Alcançar o servidor por um servidor proxy em vez de diretamente, como algumas redes corporativas exigem. Há suporte a proxies SOCKS5, SOCKS4 e HTTP (um proxy HTTP recebe o pedido de abrir um túnel simples com o método CONNECT, então precisa permitir isso para a porta do servidor). Com hosts de salto, o proxy leva a conexão apenas até o primeiro.

  • Padrão: Nenhum (conectar diretamente).
  • Atenção: O Mosh não pode ser usado em um host que tem proxy.

host.proxyHost

O endereço do servidor proxy: um nome de host ou um endereço IP.

  • Exemplo: proxy.corp.example.com

host.proxyPort

A porta em que o proxy escuta, de 1 a 65535.

  • Padrão: 1080 é preenchido seja qual for o tipo de proxy; é a porta SOCKS habitual, então altere-a para um proxy HTTP (geralmente 3128 ou 8080).
  • Exemplo: 1080 para SOCKS, 3128 ou 8080 para HTTP

host.proxyUsername

O nome de usuário que o próprio proxy pede, se pedir. O SOCKS4 não tem login de verdade: só recebe um nome, chamado de “user ID”, que a maioria dos proxies SOCKS4 ignora. Não é a sua conta no servidor.

  • Padrão: Nenhum.

host.proxyPassword

A senha que o próprio proxy pede. O SOCKS4 não tem senhas, então o campo fica oculto para ele.

  • Padrão: Nenhuma.
  • Atenção: Um proxy HTTP a recebe apenas com uma codificação básica, legível por qualquer um no caminho até o proxy. Ela é armazenada e sincronizada como a senha do host.

host.jumpHosts

Servidores pelos quais passar no caminho, em ordem, quando o destino não pode ser alcançado diretamente (o ssh chama isso de ProxyJump; esse servidor costuma ser chamado de bastion). O app faz login no primeiro com o login salvo daquele host, cria um túnel por ele até o próximo, e assim por diante até este host. Até 8, cada um um host salvo do mesmo cofre. O proxy próprio de um host de salto é ignorado: só o proxy deste host é usado, para alcançar o primeiro host de salto. Os hosts de salto do primeiro host de salto também são percorridos.

  • Padrão: Conexão direta ou a cadeia do grupo.
  • Exemplo: bastion → este host
  • Atenção: Cada host de salto pode ver para onde você se conecta em seguida. O Mosh não pode ser usado por hosts de salto, e o Telnet os ignora.

host.env

Valores nomeados entregues ao shell remoto quando ele inicia, como LANG ou uma variável que seus scripts leem. Um nome tem letras, dígitos e sublinhados, sem começar com dígito; um valor tem até 4096 caracteres. Eles são enviados apenas em sessões SSH. O nível mais próximo que define alguma vale por inteiro: a lista de um host substitui a do grupo, não é mesclada com ela.

  • Padrão: Nenhuma.
  • Exemplo: LANG = en_US.UTF-8
  • Atenção: A maioria dos servidores aceita só os nomes listados após AcceptEnv nas configurações do servidor SSH (sshd_config; muitas vezes só LANG e LC_*) e descarta o resto em silêncio. Os valores são armazenados e sincronizados como configurações comuns, então não coloque segredos neles.

host.connectTimeout · Só no computador

Quantos segundos esperar pela resposta do servidor, e depois pelo handshake de login, antes de desistir. Aumente para um link lento ou distante. De 1 a 300.

  • Padrão: 15 segundos (Configurações › Conexões e SSH).

host.autoReconnect

Quando uma sessão cai inesperadamente, conecta de novo sem perguntar: 5 tentativas rápidas, esperando 1, 2, 4, 8 e 16 segundos, e depois uma tentativa por minuto enquanto a aba dela estiver aberta, e na hora quando a rede muda ou o dispositivo desperta (Parar de tentar encerra isso). Os redirecionamentos de portas em execução por este host também tentam de novo: até 10 tentativas em cerca de 5 minutos, e na hora quando a rede muda. Para na hora se a chave do host do servidor foi recusada ou se você cancelou o login; um redirecionamento que precisa de aprovação de novo espera por ela.

  • Padrão: Ativado (Configurações › Conexões e SSH).
  • Atenção: Uma reconexão faz login de novo com uma senha que você digitou antes nesta execução do app (no celular: até o app bloquear, você sair da conta ou ele ficar em segundo plano pelo tempo do bloqueio automático). Uma frase secreta de chave só é reutilizada se você marcou Lembrar quando ela foi pedida.

host.keepaliveInterval · Só no computador

Um keep-alive é uma pequena mensagem “você está aí?” enviada enquanto a conexão está ociosa, para que roteadores e firewalls não a derrubem e um link morto seja percebido. Este é o número de segundos entre elas; 0 as desativa. De 0 a 3600.

  • Padrão: 30 segundos (Configurações › Segundo plano e manter ativo).

host.keepaliveCountMax · Só no computador

Quantas mensagens de keep-alive seguidas podem ficar sem resposta antes de a conexão ser considerada perdida e fechada. Com os padrões, isso dá cerca de um minuto e meio. De 1 a 100.

  • Padrão: 3 (Configurações › Segundo plano e manter ativo).

host.agentForwarding

Permite que o servidor em que você está use suas chaves para fazer login em outro servidor (por exemplo, git pull do GitHub no servidor), sem que as chaves privadas saiam deste dispositivo. “Chave de autenticação” oferece só a chave com que você fez login; “Todas as chaves” oferece as chaves deste host e dos seus hosts de salto. O servidor pode pedir assinaturas, nunca ler as chaves. Isso é solicitado apenas em sessões de terminal, não no SFTP nem em encaminhamentos de porta. “Chave de autenticação” não oferece nada quando você fez login com senha ou com uma chave do agente SSH deste computador. “Todas as chaves” deixa de fora chaves de segurança (hardware) e chaves criptografadas cuja frase secreta não está salva nem lembrada; ela não as solicita.

  • Padrão: Desativado (Configurações › Conexões e SSH).
  • Atenção: Enquanto você estiver conectado, qualquer pessoa com direitos de administrador nesse servidor pode fazer login em outro lugar como você com as chaves encaminhadas. Ative apenas para servidores em que você confia.

host.legacyAlgorithms · Só no computador

Oferecer também métodos de criptografia antigos (troca de chaves e assinaturas SHA-1, cifras CBC, chaves de host ssh-rsa) que o SSH moderno abandonou. Ative apenas quando um roteador, switch ou servidor antigo se recusar a conectar sem eles.

  • Padrão: Desativado (Configurações › Conexões e SSH › Avançado).
  • Atenção: Esses métodos são fracos. Deixe desativado para tudo o que for acessível pela internet.

host.pqc · Só no computador

Preferir uma forma mais nova de combinar as chaves de criptografia da sessão (o método chamado mlkem768x25519), que também resiste a um futuro computador quântico, quando o servidor tiver suporte; os métodos habituais continuam sendo oferecidos depois dele. Desative apenas se um servidor se comportar mal com ele.

  • Padrão: Ativado (Configurações › Conexões e SSH › Avançado).

host.sftpStartPath · Só no computador

A pasta em que o navegador de arquivos abre para este host na primeira vez. Depois disso, o app lembra a última pasta em que você esteve.

  • Padrão: Sua pasta pessoal no servidor.
  • Exemplo: /var/www

host.theme

As cores dos terminais deste host, para que um servidor de produção pareça diferente de um de teste. Um tema escolhido dentro de uma sessão continua valendo para aquela sessão.

  • Padrão: O tema de terminal do app (Configurações › Aparência).

host.fontFamily · Só no computador

A fonte dos terminais deste host: uma instalada neste computador ou uma incluída (JetBrains Mono, Fira Code, Cascadia Code, Source Code Pro, Hack).

  • Padrão: A fonte de Configurações › Terminal (JetBrains Mono).

host.fontSize · Só no computador

O tamanho do texto do terminal deste host, em pixels, de 6 a 72.

  • Padrão: O tamanho de Configurações › Terminal (14).

host.lineHeight · Só no computador

O espaço que cada linha do terminal ocupa, como múltiplo do tamanho da fonte, de 0,8 a 2. Maior é mais arejado; 1 é apertado.

  • Padrão: O valor de Configurações › Terminal (1,2).

host.charset · Só no computador

A codificação de caracteres que o servidor usa. Quase todo sistema moderno usa UTF-8; escolha outra só quando letras acentuadas ou caracteres de desenho de caixas aparecerem embaralhados em um sistema antigo. O app converte nos dois sentidos; nada é alterado no servidor.

  • Padrão: UTF-8.
  • Exemplo: ISO-8859-1, windows-1252, Shift_JIS

host.termType · Só no computador

Como o app se identifica para o servidor, na variável TERM. Os programas a usam para decidir quais cores e teclas funcionam. Altere-a só quando um programa de tela cheia (vi, top) se comportar mal em um sistema antigo.

  • Padrão: xterm-256color (Configurações › Terminal › Avançado).
  • Exemplo: vt100 para equipamentos muito antigos

host.backspace · Só no computador

Qual caractere a tecla Backspace envia. Quase todo sistema espera DEL; mude para Ctrl-H se o Backspace imprimir ^? ou não apagar. Ctrl+Backspace envia o outro.

  • Padrão: DEL.

host.telnetPort · Só no computador

A porta usada quando você abre este host com Telnet em vez de SSH, de 1 a 65535. O Telnet não tem um login que o app possa responder por você: o servidor pede nome de usuário e senha no terminal, e você os digita lá. O app não salva nenhum dos dois.

  • Padrão: 23.
  • Atenção: O Telnet não é criptografado: tudo o que é digitado, inclusive senhas, pode ser lido na rede.

host.moshEnabled · Só no computador

O Mosh é outra forma de manter um terminal vivo em uma conexão ruim ou em movimento: ele sobrevive a trocas de rede e à suspensão, e ecoa a digitação na hora. O app ainda faz login via SSH primeiro e depois troca. O servidor precisa ter o mosh-server instalado e as portas UDP abertas, e este computador precisa ter o programa mosh-client instalado (macOS e Linux; o Mosh não roda no app para Windows). O app do celular não executa Mosh: lá, um host com isto ativado conecta por SSH simples.

  • Padrão: Desativado.
  • Atenção: Um host com hosts de salto ou proxy não consegue conectar enquanto o Mosh estiver ativado, assim como um em um computador sem mosh-client: no desktop não há volta automática para SSH. Sessões Mosh não são gravadas no log de sessão e não têm preenchimento automático.
  • Mais: Leia mais (em inglês)

host.moshServerCommand · Só no computador

O programa iniciado no servidor para o Mosh. Defina-o só quando o mosh-server não estiver no PATH lá. Informe apenas o nome do programa ou seu caminho completo, sem argumentos.

host.moshPortRange · Só no computador

A porta UDP, ou intervalo de portas, que o servidor pode usar para o Mosh, escrito BAIXA:ALTA com dois-pontos. Defina-o de acordo com o que o firewall do servidor deixa passar.

  • Padrão: A critério do mosh-server (60000 a 61000 na maioria dos sistemas).
  • Exemplo: 60000:61000
  • Mais: Leia mais (em inglês)

host.shellIntegration · Só no computador

Permite que o app veja onde cada comando começa e termina em uma sessão bash ou zsh, o que faz funcionar “há um comando em execução?” e a restauração de um espaço de trabalho. Para isso, ele digita um pequeno script no shell quando a sessão começa.

  • Padrão: Desativado.
  • Atenção: Isso altera os hooks de prompt daquela sessão do shell e informa ao app cada linha de comando que você executa.

host.autocomplete · Só no computador

Se as sugestões aparecem enquanto você digita neste host, no desktop e no celular. Um host só pode desativá-las; se as sugestões estiverem desativadas em Configurações › Terminal, isto não pode ativá-las. Não oculta a oferta, no desktop, da senha salva em uma solicitação de senha.

  • Padrão: Ativado, seguindo Configurações › Terminal.

host.autocompleteHostLookup · Só no computador

Se o preenchimento automático pode perguntar a este host o que ele tem: comandos instalados, as opções das páginas de manual e valores como branches, serviços e nomes de arquivos. As perguntas são comandos fixos, somente leitura, executados em segundo plano pela própria conexão da sessão, nunca digitados no terminal. Desative para um host em que nada pode rodar sem ser pedido; as sugestões ali passam a vir do seu histórico, dos seus snippets e das descrições de comandos integradas. O app do celular também segue esta opção.

  • Padrão: Ativado, seguindo Configurações › Terminal.
  • Atenção: As consultas rodam como o usuário com que você faz login e aparecem no host como qualquer outro comando.

host.tabColor

Um rótulo de cor para este host: toda sessão e aba SFTP para ele leva a cor, assim como as linhas dele em Sessões e em Hosts, para distinguir um host (ou um tipo, como produção) de outro num relance. Definida em um grupo, todos os hosts dele recebem a cor, a menos que o host defina a sua; “Nenhuma” em um host retira dele a cor do grupo. Uma aba aberta pode receber outra cor pelo menu dela sem alterar o host. A cor é sincronizada com o host; é um rótulo, não um segredo.

  • Padrão: Nenhuma, ou a cor do grupo.
  • Exemplo: Vermelho no grupo Produção, verde em Homologação.

host.smartHighlight

Se o Sternway colore o que reconhece na saída simples deste host (endereços, caminhos, tamanhos, níveis de log, listagens de arquivos). Desative para um dispositivo cuja saída ele interpreta errado, ou ative para um host enquanto estiver desativado em Configurações. Os tipos coloridos são definidos em Configurações › Terminal. As cores dos próprios programas nunca são alteradas, e a cópia não é afetada.

  • Padrão: Segue Configurações › Terminal.

host.notify

Sobre o que toda sessão para este host notifica você sem precisar pedir a cada vez. As mesmas opções estão no menu da própria sessão (“Notificar-me…”), onde valem só para aquela sessão. Um comando conta depois de rodar pelo tempo definido em Configurações › Notificações; “saída após silêncio” significa 30 segundos sem nenhuma; “quando ficar em silêncio” significa nenhuma saída pelos minutos definidos em Configurações › Notificações, uma vez por período de silêncio; “uma linha corresponde” usa suas regras em Configurações › Notificações; “um agente de programação precisa de entrada” reconhece as perguntas que agentes de programação de linha de comando fazem antes de agir; “o programa envia uma notificação” é uma notificação que o próprio programa remoto pede (OSC 9, 777 ou 99). Definido em um grupo, todos os hosts dele notificam da mesma forma, a menos que o host defina a sua.

  • Padrão: Nada: uma sessão só notifica sobre o que você pedir.
  • Atenção: Uma notificação pode mostrar uma linha da saída do host. Um celular só notifica enquanto o app está rodando ou mantido ativo em segundo plano.

host.sessionLogging · Só no computador

Se o que as sessões deste host exibem é registrado em Logs. Só registra quando o log também está ativado para o cofre do host (Configurações › Logs). Desative para um host cuja saída você nunca quer guardar. O app do celular registra da mesma forma e segue esta opção. Um log fica no dispositivo que o registrou, a menos que “Sincronizar logs de sessão” esteja ativado nele.

  • Padrão: Ativado, quando o cofre registra logs.
  • Atenção: Um log contém tudo o que foi exibido no terminal, inclusive qualquer segredo que um comando tenha impresso.

host.recordSessions · Só no computador

Grava toda sessão para este host desde o início, com a temporização, para você reproduzi-la depois em Gravações: o que o terminal mostrou e cada mudança de tamanho, como um arquivo asciicast. Uma gravação fica neste dispositivo, criptografada com o resto dos dados do app, e nunca é sincronizada nem enviada. Um selo vermelho “Gravando” aparece na sessão enquanto ela roda. Definido em um grupo, todos os hosts dele gravam, a menos que o host diga o contrário. Uma única sessão também pode ser gravada pelo menu dela.

  • Padrão: Desativado.
  • Atenção: Uma gravação contém tudo o que foi exibido no terminal, inclusive qualquer segredo que um comando tenha impresso.
  • Mais: Leia mais (em inglês)

host.recordInput · Só no computador

Com “Gravar sessões” ativado, guarda também o que você digita na gravação. O que você digita depois de uma solicitação que o app reconhece (uma linha terminando em “password:”, “passphrase:”, “PIN:” e similares, também nos idiomas europeus comuns, russo, japonês, chinês e coreano, mesmo quando o programa exibe * a cada tecla) nunca é guardado, até Enter, Ctrl-C ou Ctrl-D.

  • Padrão: Desativado: só o que o terminal mostrou é gravado.
  • Atenção: O texto digitado pode conter segredos que o app não consegue reconhecer como tal: uma senha colada em uma linha de comando, um token, uma solicitação com outra redação (“Verification code:”, um idioma que a documentação não lista) ou uma que não esteja no fim da última linha. Esses seriam gravados.
  • Mais: Leia mais (em inglês)

host.metricsStrip · Só no computador

Mostra uma faixa fina acima dos terminais deste host com o uso de CPU, a memória em uso e o quanto o sistema de arquivos raiz está cheio. A cada 5 segundos, enquanto o terminal está na tela, o Sternway executa um comando curto somente leitura (/proc e df no Linux; sysctl, vm_stat e ps no macOS e no FreeBSD) em um canal separado da conexão: nada é digitado no seu shell e nada aparece no histórico dele. Pausa enquanto a aba está oculta e fica oculta em um sistema que ele não consegue ler.

  • Padrão: Desativado.
  • Atenção: Um servidor que permite só um canal por conexão não consegue executá-lo ao lado do seu shell: a faixa então fica vazia.

host.tmuxAttach · Só no celular

Uma sessão SSH para este host roda dentro do tmux no servidor: ao conectar, ela se anexa à sessão tmux com o nome abaixo e a cria se não existir. O que estiver rodando nela continua quando o celular dorme, perde a rede ou fecha o app, e uma reconexão, automática ou pelo botão Reconectar, anexa-se a ela de novo, então a tela volta como você a deixou. Funciona através de hosts de salto. Antes de anexar, o Sternway verifica em um canal próprio se o tmux está instalado; se não estiver, você é avisado e a sessão continua como um shell simples.

  • Padrão: Desativado.
  • Exemplo: Um build longo ou um agente de programação que você inicia no celular e acompanha mais tarde.
  • Atenção: O comando de anexar é digitado no shell, então aparece na tela e, a menos que seu shell ignore linhas que começam com espaço, no histórico dele. O comando de inicialização é digitado na sessão tmux só quando ela é criada, não a cada anexação. Sair do tmux (desanexar ou sair da última janela) deixa você no shell simples. Não é usado para Telnet nem Mosh.

host.tmuxSession · Só no celular

A sessão tmux à qual se anexar. Se ficar vazio, o nome é criado a partir do rótulo do host (“web-01 (prod)” vira web-01-prod). Letras, dígitos, - e _, até 64 caracteres. Dois hosts no mesmo servidor com o mesmo nome compartilham uma sessão tmux.

  • Padrão: Criado a partir do rótulo do host.
  • Exemplo: build

host.wakeMac

O endereço de hardware da placa de rede que acorda esta máquina. Com ele definido, o host tem uma ação Acordar: este dispositivo envia o “pacote mágico” que faz uma máquina em suspensão ou desligada ligar, se o firmware dela tiver o Wake-on-LAN ativado. O pacote sai deste computador ou celular, pela rede em que ele está: nenhum servidor participa, então ele chega a uma máquina da mesma rede local (ou a uma cujo roteador o repasse).

  • Padrão: Nenhum: sem ação Acordar.
  • Exemplo: 52:54:00:ab:cd:ef (também 52-54-00-ab-cd-ef ou 5254.00ab.cdef)
  • Atenção: Veja-o na própria máquina (ip link no Linux, ipconfig /all no Windows) enquanto ela está ligada. Uma máquina fora da tomada, ou com a placa desativada, não recebe o pacote.

host.wakeAddress

Para onde o pacote mágico é enviado. O padrão chega a todas as máquinas do próprio segmento de rede deste dispositivo. Use o endereço de broadcast da outra rede (por exemplo 192.168.20.255) quando a máquina estiver em outra sub-rede cujo roteador o repasse, ou o próprio endereço da máquina quando um roteador a mantém acessível enquanto ela dorme.

  • Padrão: 255.255.255.255 (esta rede).
  • Exemplo: 192.168.1.255

host.wakePort

A porta UDP para a qual o pacote mágico é enviado. As placas de rede escutam qualquer que seja a porta; alguns roteadores só repassam a porta 7 ou 9. De 1 a 65535.

  • Padrão: 9.

host.wakeBeforeConnect

Toda conexão a este host (terminal, arquivos, redirecionamentos de portas) primeiro envia o pacote mágico, espera a porta SSH do host responder, no máximo o tempo de espera abaixo, e então faz login. Verificar a porta só abre e fecha uma conexão com ela; nunca faz login. Um host que já está acordado responde na hora, então isso não custa nada.

  • Padrão: Desativado.
  • Atenção: Para um host acessado por um host de salto ou um proxy, a porta não pode ser verificada daqui: o app espera o tempo todo antes de conectar.

host.wakeWaitSec

Quanto tempo “Acordar antes de conectar” espera o host começar a responder antes de tentar o login mesmo assim. Uma máquina que liga do zero precisa de mais tempo do que uma que sai da suspensão. De 5 a 600.

  • Padrão: 60 segundos.

host.knockSequence

Portas em que “bater”, em ordem, antes de cada conexão a este host, para um servidor cujo firewall (knockd e similares) mantém a porta SSH fechada até vê-las. Separe as portas com espaços; acrescente :udp a uma porta batida por UDP (TCP é o padrão). Uma batida TCP abre uma conexão e a fecha na hora; uma batida UDP é um pacote vazio. Até 16 portas. Quando este host é acessado por um host de salto, é o host de salto que envia as batidas.

  • Padrão: Nenhuma: o host é discado direto.
  • Exemplo: 7000 8000:udp 9000
  • Atenção: Atrás de um host de salto, as batidas só podem ser TCP, e batidas UDP não passam por um proxy. Uma sequência de batidas não é uma senha: qualquer pessoa que observe a rede entre você e o servidor pode vê-la.

host.knockDelayMs

Quanto esperar depois de cada batida, e depois da última antes de discar, para o firewall acompanhar. De 0 a 10000 milissegundos.

  • Padrão: 200 ms.

Onde: Hosts › Novo grupo, ou Editar em um grupo.

group.name

O nome da pasta na sua lista de hosts. Obrigatório, até 256 caracteres.

  • Exemplo: Produção

group.parent

Coloque este grupo dentro de outro. Os hosts dele passam a herdar também as configurações dos grupos acima. Um grupo não pode ficar dentro de si mesmo nem de um dos próprios subgrupos.

  • Padrão: Nenhum (nível superior).

group.cloudEnable · Só no computador

Mantém este grupo preenchido com seus servidores em nuvem em execução: um host é adicionado para cada instância, o endereço é atualizado quando muda, e o host é removido quando a instância deixa de existir. O app só lê a lista de instâncias; não altera nada no provedor.

  • Padrão: Desativado.
  • Atenção: O host de uma instância que foi parada ou encerrada é excluído na próxima atualização, junto com qualquer edição que você tenha feito nele.

group.cloudProvider · Só no computador

O serviço de nuvem do qual ler as instâncias. Hoje só o AWS EC2 funciona; os outros aparecem como em breve.

  • Padrão: AWS EC2.

group.cloudRegion · Só no computador

A única região do provedor cujas instâncias são listadas. Para várias regiões, crie um grupo para cada uma.

  • Exemplo: us-east-1 ou eu-west-2

group.cloudFilter · Só no computador

Só são adicionadas as instâncias cuja tag Name corresponde. O texto é passado à AWS como filtro na tag Name: o nome inteiro precisa corresponder e maiúsculas importam; * representa qualquer sequência de caracteres e ? exatamente um. Assim, “web” encontra só uma instância chamada exatamente web, e “web-*” encontra web-1 e web-eu-2. Com um filtro definido, instâncias sem tag Name ficam de fora. Deixe vazio para todas as instâncias em execução ou iniciando na região.

  • Padrão: Vazio (todas as instâncias).
  • Exemplo: web-*

group.cloudRefresh · Só no computador

Com que frequência a lista de instâncias é lida de novo enquanto o app está aberto, de 1 a 1440 minutos.

  • Padrão: 60.

group.cloudAccessKeyId · Só no computador

A metade pública de uma chave de acesso da AWS com permissão para listar instâncias EC2. Deixe os dois campos de chave em branco para manter as já salvas.

  • Exemplo: AKIA…
  • Atenção: Guardada só neste dispositivo: nunca é sincronizada nem compartilhada com sua equipe, então cada dispositivo que deve sincronizar precisa da sua própria.

group.cloudSecretAccessKey · Só no computador

A metade secreta dessa chave de acesso da AWS, usada para assinar a solicitação da lista de instâncias.

  • Atenção: Guardada só neste dispositivo e nunca exibida de novo. Use uma chave que só possa ler o EC2, não a chave principal da sua conta.

group.cloudSessionToken · Só no computador

Só para credenciais temporárias da AWS (de SSO ou de uma função assumida), que vêm em três partes. Deixe vazio para uma chave de acesso comum.

  • Padrão: Nenhum.

Onde: A tela Hosts.

quickConnect.target

Conecte uma vez, sem salvar um host. Digite o endereço, opcionalmente com um nome de usuário antes de @ e uma porta depois de dois-pontos, ou cole um link ssh://, sftp:// ou telnet:// ou um comando “ssh”. De um comando, são usados o usuário (-l), a porta (-p) e os hosts de salto (-J); qualquer outra opção, um comando a executar no host e uma senha em um link não são, e você é avisado de quais. Nada do que você cola é executado. Usa os padrões do app de Configurações: sem grupo, chave nem proxy.

  • Padrão: Porta 22; o nome de usuário é solicitado quando omitido.
  • Exemplo: root@203.0.113.10:2222, ou: ssh -p 2222 -J jump@bastion deploy@web-01

hostSave.label · Só no computador

O nome que a conexão rápida recebe na sua lista de hosts quando você a salva. O endereço, a porta e o nome de usuário vêm da conexão; uma senha digitada só é salva com ela se você também tiver indicado isso na solicitação de senha. Você pode editar o host depois como qualquer outro.

hostMove.group · Só no computador

O grupo para onde mover os hosts selecionados. Eles passam a herdar as configurações desse grupo. Hosts de cofres diferentes só podem ir para o nível superior do próprio cofre.

  • Padrão: Sem grupo (nível superior).

hostBulk.tags

Tags a adicionar a todos os hosts selecionados ou a tirar deles. Clique uma vez em uma tag para adicioná-la a todos (ou, se todos já a têm, para tirá-la), de novo para inverter e uma terceira vez para deixá-la como está. O chip mostra quais hosts a têm agora.

  • Padrão: Todas as tags como estão.

hostBulk.identity

A identidade salva com que todos os hosts selecionados fazem login. “Herdar” tira a identidade de cada host para que ele a herde do grupo; “Nenhuma” significa sem identidade. O nome de usuário, a senha e a chave próprios de um host são mantidos: enquanto houver uma identidade escolhida eles não são usados, e voltam a ser usados quando a identidade é tirada.

  • Padrão: Deixar como está.

hostBulk.port

A porta SSH de todos os hosts selecionados: um número de 1 a 65535, ou “Herdar” para tirar a porta própria de cada host para que ele a herde do grupo (22 por padrão).

  • Padrão: Deixar como está.
  • Atenção: Um redirecionamento de portas aprovado neste dispositivo pede aprovação de novo quando a porta do host muda, e os dispositivos de um colega mostram a alteração antes de se conectarem a um host compartilhado.

hostBulk.group

O grupo para onde vão todos os hosts selecionados, ou o nível superior do cofre deles. Eles passam a herdar as configurações desse grupo.

  • Padrão: Deixar como está.

hostTransfer.vault · Só no computador

O cofre para onde mover ou copiar a seleção. Um cofre é uma coleção criptografada separadamente: o seu pessoal ou um compartilhado com uma equipe.

  • Atenção: Todos com acesso ao cofre de destino poderão ver e usar o que você colocar lá.

hostTransfer.group · Só no computador

O grupo do cofre de destino em que os itens vão parar.

  • Padrão: (sem grupo).

hostTransfer.linkMode · Só no computador

O que acontece com a identidade e a chave com que um host copiado faz login. “Copiar vínculos” também as copia para o cofre de destino. “Manter credenciais pessoais” (do seu cofre pessoal para um cofre de equipe) as deixa fora da cópia e as mantém como suas credenciais pessoais para esse host.

  • Padrão: Copiar vínculos.
  • Atenção: Com “Copiar vínculos”, todos que podem abrir o cofre de destino recebem a chave e a senha copiadas.

tag.name

Renomeie a tag em todos os lugares em que ela é usada. De 1 a 64 caracteres; duas tags do mesmo cofre não podem ter o mesmo nome, independentemente de maiúsculas.

hostFilter.match

Com várias tags escolhidas: “Qualquer” mostra os hosts que têm pelo menos uma delas; “Todas”, só os hosts que têm todas.

  • Padrão: Qualquer.

Onde: Hosts › Novo › Importar do Tailscale….

tailscale.source · Só no computador

“Tailscale deste computador” consulta o app Tailscale em execução aqui (tailscale status --json), sem chave: lista os dispositivos que este computador consegue ver. “API do Tailscale” é para um computador sem o app Tailscale: consulta api.tailscale.com com uma chave de API.

  • Padrão: Tailscale deste computador.

tailscale.controlUrl · Só no computador

Vazio para ler os dispositivos do Tailscale. Para uma tailnet gerida pelo Headscale, a URL do servidor Headscale (o server_url da configuração dele): a importação lê então a lista de nós dele (/api/v1/node) com uma chave de API do Headscale, e o nome da tailnet não é necessário. Guardado neste dispositivo para a próxima importação. “Este computador” não precisa disso: o cliente Tailscale responde a partir do servidor em que está logado, Headscale incluído.

  • Exemplo: https://headscale.example.com
  • Atenção: Só https:// (http:// simples só para este computador, localhost), sem usuário nem senha nela: a chave de API vai para este servidor. O Headscale não informa o sistema de um nó, o nome MagicDNS nem se ele usa Tailscale SSH, então esses dispositivos são adicionados pelo endereço Tailscale.

tailscale.tailnet · Só no computador

O nome da sua tailnet como o console de administração do Tailscale o mostra em Settings › General (muitas vezes o domínio do seu e-mail ou um nome como example.github). Um único hífen (“-”) significa a tailnet da chave.

  • Exemplo: example.com

tailscale.apiKey · Só no computador

Um token de acesso à API do console de administração do Tailscale (Settings › Keys), começando com tskey-api-; com um servidor de controle definido, uma chave de API do Headscale (headscale apikeys create). Ele é enviado uma vez, para api.tailscale.com ou para esse servidor, para ler a lista de dispositivos, e não é salvo em lugar nenhum.

  • Atenção: Qualquer pessoa com a chave pode gerenciar sua tailnet até ela expirar: dê a ela uma validade curta e revogue-a depois da importação.

tailscale.address · Só no computador

O endereço que cada novo host recebe: o nome MagicDNS (homelab.tail1234.ts.net), que continua funcionando quando o dispositivo recebe um novo IP do Tailscale, ou o endereço IPv4 do Tailscale (100.x.y.z), que funciona sem MagicDNS.

  • Padrão: Nome MagicDNS.

tailscale.ssh · Só no computador

Para dispositivos que executam o Tailscale SSH: os hosts recebem a tag “Tailscale SSH” e nenhuma senha ou chave. O Tailscale verifica quem você é na tailnet, e você faz login com seu nome de usuário neste computador.

  • Padrão: Ativado quando todos os dispositivos escolhidos executam o Tailscale SSH.

Onde: Hosts › selecione hosts › Enviar um arquivo….

push.file · Só no computador

O arquivo neste computador a ser copiado para cada host escolhido. Ele mantém o nome lá.

push.remoteDir · Só no computador

Para onde o arquivo vai em cada host. ~ é a pasta pessoal do usuário com que você faz login, e um caminho que não começa com / é contado a partir dela. A pasta precisa existir.

  • Padrão: ~ (a pasta pessoal).
  • Exemplo: ~/bin, /etc/myapp

push.conflict · Só no computador

“Substituir” sobrescreve um arquivo com esse nome na pasta; “Ignorar” o deixa como está e marca o host como Ignorado.

  • Padrão: Substituir.
  • Atenção: “Substituir” sobrescreve o arquivo em todos os hosts que o têm, sem perguntar.

push.hosts · Só no computador

Os hosts que recebem o arquivo: os marcados, ou (Por regra de tags) os hosts com as tags escolhidas quando o envio começa. A cópia vai para quatro hosts por vez; cada um se conecta como faria para SFTP e pergunta o que perguntaria lá.

fleet.tagRule · Só no computador

Os hosts com alguma das tags marcadas, ou com todas. A regra é lida quando a ação começa (e de novo ao repetir), então um host marcado depois entra e um desmarcado depois não; a linha abaixo diz quais hosts ela pega agora.

  • Padrão: Alguma das tags.

Onde: Hosts › Mais › Buscar um arquivo….

pull.remotePath · Só no computador

O arquivo a buscar de cada host escolhido. ~ é a pasta pessoal do usuário com que você faz login, e um caminho que não começa com / é tomado a partir dela. A cópia de cada host vai no zip para uma pasta com o nome do host.

  • Exemplo: /etc/os-release, ~/.bashrc

pull.cap · Só no computador

Um host cujo arquivo é maior que isso fica de fora e é marcado como grande demais, para um log enorme não encher o disco. A busca é feita em três hosts por vez.

  • Padrão: 50 MB.

pull.hosts · Só no computador

Os hosts de onde buscar o arquivo: os marcados, ou (Por regra de tags) os hosts com as tags escolhidas quando a busca começa. Cada um se conecta como faria para SFTP. O zip é gravado quando todos os hosts terminam; buscar de novo dos que falharam o grava outra vez.

Onde: Hosts › Mais › Inventário.

inventory.export · Só no computador

Salva o inventário como arquivo CSV: host, endereço, sistema operacional, versão, arquitetura e quando este dispositivo se conectou a ele pela última vez (UTC). O que mostra vem da verificação do sistema operacional feita em cada conexão; um host ao qual nenhum dispositivo com este cofre se conectou tem colunas vazias. O arquivo não é criptografado: os hosts de uma equipe cuja política bloqueia exportações sem criptografia (ou cuja política não pode ser lida agora) ficam de fora, e o diálogo diz quantos.

Onde: Hosts › um host › Sessões do tmux….

tmux.search · Só no computador

Encontra uma palavra no que cada painel de cada sessão do tmux no host mostra: as últimas 200 linhas de cada um, até 64 painéis, sem diferenciar maiúsculas. O texto é lido por um canal próprio (nada é digitado em terminal) e buscado neste computador; um resultado diz em qual sessão, janela e painel está, com Anexar.

tmux.name · Só no computador

O nome da sessão ou da janela do tmux, ou o título do painel, com até 128 caracteres. Espaços, aspas e qualquer outro caractere ficam como digitados (um # também: o tmux o mostra e não o lê como formato); uma quebra de linha, uma tabulação ou outro caractere de controle é recusado, assim como : e . num nome de sessão, que o tmux usa para indicar uma janela e um painel. “Iniciar” cria a sessão no host e a deixa rodando; “Iniciar e conectar” também a abre numa nova aba, o que digita o nome num terminal, então esse só aceita letras, dígitos, - e _.

© 2026 IRONPINE LABS LLC
ALL RIGHTS RESERVED.