MXterm Pro

Hosts SSH e SFTP

O MXterm Pro mantém uma lista de hosts SSH e conecta executando o próprio ssh no painel, então sua configuração do OpenSSH continua valendo. Cada aba SSH ganha um painel de arquivos, uma faixa de estatísticas e port forwarding que reaproveitam a conexão da aba.

Abrir o gerenciador de hosts

No gerenciador de hosts você salva, edita, importa e conecta hosts. Abra-o de qualquer um destes jeitos:

  • Na seção SSH da barra lateral esquerda, clique no botão de controles deslizantes (tooltip Gerenciar servidores SSH e SFTP). O botão + ao lado abre o gerenciador em um formulário Novo host em branco.
  • Pressione Cmd+Shift+H no macOS ou Ctrl+Shift+H no Linux. No Windows o código usa o mesmo atalho, mas ele não foi testado lá. Você pode mudar o atalho em Configurações.
  • Escolha Gerenciador de sessões SSH e SFTP na paleta de comandos.

A coluna da esquerda lista as Sessões salvas, com um chip de filtro para cada grupo. A coluna da direita é o formulário de um host novo ou do host que você selecionou. Esc, ou um clique na área escura fora da janela, fecha o gerenciador. A seção SSH da barra lateral esquerda também lista todos os hosts salvos: clique em um para abri-lo em uma nova aba, como em Conectar. Adicionar, editar e excluir hosts é feito no gerenciador. Outros atalhos estão em Atalhos de teclado.

Adicionar um host

  1. Abra o gerenciador de hosts e clique em Novo host para começar.
  2. Preencha os campos abaixo. Nome do favorito, Endereço IP / domínio e Usuário são obrigatórios.
  3. Escolha um método em MODO DE AUTENTICAÇÃO.
  4. Clique em Salvar sessão SSH.

Para alterar um host, clique no card dele, edite o formulário e clique em Atualizar sessão SSH. O ícone de lixeira no card exclui o host depois que você confirma. Se você digitou uma senha nova e o Keychain do sistema a recusa, nada é alterado: o formulário continua como está e mostra Não foi possível salvar a senha no Keychain, então nada foi alterado, seguido do motivo.

CampoO que faz
Nome do favoritoO nome exibido na lista e no título da aba.
Endereço IP / domínioO endereço do servidor.
PortaA porta SSH. Padrão 22.
UsuárioA conta usada no login. Padrão root.
Diretório de trabalho padrão (opcional)O diretório em que o shell remoto começa. Se ele não existir, você cai no seu diretório pessoal.
Jump host / bastion (opcional)Uma máquina pela qual conectar, escrita como user@bastion.example.com:22. Separe vários com vírgulas para formar uma cadeia. Passado para ssh -J.
Encaminhar agente SSHAdiciona ssh -A, para que o servidor possa usar as chaves do seu ssh-agent local. Quem tem root nesse servidor também pode usá-las enquanto você estiver conectado, então ative só em hosts em que você confia.
Etiqueta de grupo do servidorAgrupa o host na lista: Production, Staging, Testing, Cloud / VPS, Internal / VPN, Development, ou um grupo próprio criado em + Grupo personalizado.
MétodoComo você faz login
SenhaO ssh pede a senha no painel e você a digita ali. O campo de senha do formulário a salva no Keychain do sistema, e nada no app a lê de volta para digitar por você. Como diz o próprio formulário: Salva no Keychain do sistema, nunca no armazenamento do app. Digite-a uma vez no terminal e o painel de arquivos reutiliza essa sessão.
Chave pública / arquivo de chave privadaDigite o caminho da chave ou clique em Importar... para escolher o arquivo. Ele é passado como ssh -i, e um caminho começando com ~ funciona. Se a chave tiver frase secreta, o ssh pede no terminal ou usa seu ssh-agent; o campo Frase secreta (se houver) não é usado para destravar a chave.
Interativo por tecladoO ssh mostra no terminal as perguntas do servidor, como um código de uso único.
Em qualquer método, o ssh continua lendo seu ~/.ssh/config e usando seu ssh-agent como de costume. Por padrão, o plano Free salva até 5 hosts, e o mxterm.net pode mudar esse número; adicionar um host além do limite, à mão ou por importação, abre o aviso de upgrade. Um limite menor nunca remove hosts que você já salvou. Veja Preços.

Importar hosts de um arquivo

Importar lê um arquivo que você escolhe. Ele não lê o ~/.ssh/config sozinho.

  1. No gerenciador de hosts, clique em Importar, que está acima da lista dos hosts.
  2. Escolha um arquivo de configuração do OpenSSH, um arquivo de sessões do MobaXterm, uma exportação de perfis do iTerm2 ou um arquivo JSON. O seletor aceita arquivos .config, .mxtsessions, .json, .txt e .ini.
  3. Abra cada host importado e corrija o que a importação não trouxe (veja a nota abaixo).

O arquivo de configuração do OpenSSH não tem extensão e fica em uma pasta oculta. O caminho mais fácil é copiá-lo antes, por exemplo cp ~/.ssh/config ~/Desktop/ssh-config.txt, e importar a cópia.

FormatoO que é importado
Configuração do OpenSSHUm host para cada entrada Host que tenha HostName, lendo HostName, User, Port e IdentityFile. Entradas com * no nome são ignoradas. Um User ausente vira root. Os hosts recebem a etiqueta Imported.
Sessões do MobaXtermSó linhas no formato name=#109#0%host%22%user%...: o nome antes do =, depois o tipo de sessão, o endereço, a porta e o usuário a partir dos campos separados por %. Só o tipo 0 (SSH) é importado, e o número do ícone (109 aqui) pode ser qualquer número. Uma porta ausente ou inválida vira 22 e um usuário ausente vira root. Um usuário <default> vira root. Uma linha sem endereço é ignorada, assim como uma que comece com [ ou ;. Uma linha de sessão que começa com ; logout antes do grupo # também é lida. O caminho de uma chave privada na sessão é mantido e o host fica com autenticação por arquivo de chave; caso contrário, fica com Senha. Um gateway SSH na sessão é mantido como o jump host do host, e uma sessão cujo gateway não pode ser lido com segurança é ignorada. Os hosts recebem a etiqueta MobaXterm.
Perfis do iTerm2Uma exportação de perfis em JSON do iTerm2. Um perfil cujo comando ou texto inicial seja uma linha ssh simples vira um host com a etiqueta iTerm2. O app informa quantos outros perfis ele deixou de fora. Veja Importar perfis do iTerm2 abaixo.
JSONUm array de hosts, ou um objeto com um array hosts. Cada entrada precisa de host; name, port (um número), username, keyPath, authType e group são lidos quando existem. Senhas no arquivo não são salvas.
A importação do MobaXterm não foi verificada com exportações de uma instalação real do MobaXterm. Ela segue o formato de linha de sessão da documentação pública desse formato, então um arquivo em qualquer outro formato pode não importar nada, e nesse caso o app avisa que nenhum host válido foi encontrado. Confira cada host importado antes de conectar.
A importação do OpenSSH ignora todas as outras opções, incluindo ProxyJump, ForwardAgent e LocalForward, então informe você mesmo o jump host em Jump host / bastion (opcional). O IdentityFile é mantido exatamente como está escrito, ~ incluído: ~/.ssh/id_ed25519 é salvo como ~/.ssh/id_ed25519 e expandido quando a conexão começa, para que o host continue portátil entre máquinas.

Importar perfis do iTerm2

O Session Manager Pro pode trazer perfis do iTerm2 como Sessões salvas e hosts SSH. Abra-o pela paleta de comandos ou com Cmd+Shift+O no macOS (Ctrl+Shift+O no Linux) e clique na aba Importar / Exportar.

No macOS, clique em Encontrar perfis neste Mac. O app lê o arquivo de preferências do iTerm2 com plutil, ou o arquivo da pasta de preferências personalizada do iTerm2 quando ele está configurado para carregar de uma. Esse botão existe só no macOS. Em qualquer sistema, você pode em vez disso clicar na área de arquivo dessa aba para escolher a exportação JSON do iTerm2, ou colar o texto dela na caixa de JSON, e clicar em Importar sessão. De qualquer jeito você recebe a mesma lista para escolher.

PerfilNo que ele se transforma
O comando é uma linha ssh simplesUm host SSH com a etiqueta iTerm2, com o nome do perfil. O app lê -p, -i, -l, -J e [user@]host, e descarta -t, -T, -4, -6, -C, -q, -v, -X, -Y e -A. Como o -A é descartado, ative Encaminhar agente SSH você mesmo se precisar dele. Com -i o host usa um arquivo de chave, senão usa Senha. Sem usuário o host fica com root, e a lista avisa.
Tem uma pasta de trabalho e não tem comando sshUma Sessão salva com um espaço de trabalho e um painel de shell simples que abre nessa pasta. O comando de inicialização dele, se houver, aparece na lista e nunca é importado, então uma sessão salva não consegue executar um comando.
Qualquer outro casoIgnorado, com o motivo na lista: sem pasta e sem comando ssh, uma opção que a importação não lê (como -o ou -L), um comando para executar no servidor, sintaxe de shell como ; ou $, ou autossh ou mosh no lugar de ssh. Uma linha ssh que não é importada de forma limpa é ignorada mesmo quando o perfil tem pasta.

Nada é gravado até você clicar em Importar selecionados (N), onde N é o número de itens marcados. Um perfil ignorado não pode ser marcado. Selecionar tudo e Não selecionar nada mudam as marcações. Importar um perfil de novo atualiza a Sessão salva dele em vez de adicionar uma segunda. Um host com o mesmo user@host:port de um host salvo é ignorado, e a linha de resultado o inclui na contagem.

Se o limite de hosts do plano Free for atingido, a importação para no primeiro host que ela recusa, abre o aviso de upgrade e informa quantos hosts não foram adicionados. Cores e fontes não são importadas. O botão Importar do gerenciador de hosts também lê essa mesma exportação JSON: ele transforma os perfis ssh simples em hosts e informa quantos outros perfis deixou de fora. As Sessões salvas vêm só do Session Manager Pro.

Conectar a um host

  1. Abra o gerenciador de hosts.
  2. Opcional: clique em Ping no card do host. Ele só verifica se o endereço e a porta aceitam uma conexão TCP vinda da sua máquina. Não faz login e não passa pelo jump host.
  3. Clique em Conectar. Uma nova aba chamada [SSH] <name> (<address>) é aberta.
  4. Responda às perguntas do ssh no terminal, como confirmar a chave do host na primeira vez, e sua senha, frase secreta ou código.

O painel executa o próprio ssh, o que já está instalado no seu computador: o MXterm não tem biblioteca SSH própria, e o painel de arquivos também executa ssh e scp. No Windows isso significa o cliente OpenSSH, que não foi testado lá. Não há shell local por baixo e nenhuma linha de comando digitada em um: o app monta os argumentos a partir dos campos que você salvou e os entrega direto ao ssh, que então se comporta como em qualquer terminal. O MXterm adiciona estas opções:

  • -o ControlMaster=auto -o ControlPath=~/.mxterm/sockets/%r@%h:%p -o ControlPersist=10m: uma conexão compartilhada por host, que o painel de arquivos, a faixa de estatísticas e o port forwarding reaproveitam. Ela continua aberta em segundo plano por 10 minutos depois que nada mais a usa.
  • -o ServerAliveInterval=30 -o ServerAliveCountMax=3: pacotes de keepalive, para que uma conexão caída seja percebida em cerca de 90 segundos, em vez de só na próxima vez que você digitar.
  • -i, -J, -A e -p a partir do arquivo de chave, do jump host, do encaminhamento de agente e da porta do host. O -i é passado só para um host com arquivo de chave.
  • -- antes do destino, para que um nome de host ou de usuário que comece com - nunca seja lido como opção.

Cada campo é verificado antes da tentativa de conexão: host, usuário e jump host pelas regras que o próprio OpenSSH aplica, e a porta, o caminho do arquivo de chave e o diretório de trabalho quanto a valores que não podem ser passados com segurança. Se algum for recusado, Conectar não abre aba e o gerenciador mostra uma mensagem com o nome do campo e o motivo. Uma aba salva que é recusada ao iniciar mostra a mesma mensagem em uma barra no topo do painel.

Se o host não tiver Diretório de trabalho padrão e você tiver selecionado Caminho de diretório personalizado em Diretório de trabalho padrão do SSH em Configurações → Terminal, a aba começa nesse diretório. Veja Configurações.

Redefinir a conexão compartilhada

Todos os painéis, o painel de arquivos, a faixa de estatísticas e o port forwarding de um host compartilham uma única conexão ssh em segundo plano. Ela fez login uma vez e mantém o estado que tinha naquele momento. Se a senha do servidor tinha expirado nessa hora, o painel de arquivos pode continuar falhando depois que você troca a senha no terminal, porque ele ainda usa a conexão antiga.

Redefinir conexão fecha essa conexão, de modo que a próxima faz login do zero. O card de erro do painel de arquivos mostra o botão quando a falha é senha expirada ou login recusado. Clique nele: o app fecha a conexão e abre uma nova aba SSH para o host. Faça login ali e clique em Tentar de novo. Se a aba não puder ser aberta, o painel pede que você abra uma. Toda sessão que passa pela conexão antiga termina junto com ela, incluindo painéis e port forwardings em andamento.

O app também fecha a conexão compartilhada sozinho quando:

  • você salva uma edição de um host que muda o endereço, a porta, o usuário, o método de autenticação, o arquivo de chave, o jump host ou o encaminhamento de agente, ou que salva uma senha nova;
  • você exclui um host ou remove a senha salva dele;
  • você adiciona um host e ainda há uma conexão aberta para esse endereço.

Renomear um host, ou mudar o grupo ou o diretório de trabalho dele, deixa a conexão aberta. Editar, excluir ou adicionar um host, ou salvar ou remover uma senha, também a deixa aberta quando outro host salvo tem o mesmo user@host:port. Nesse caso, use Redefinir conexão se a conexão tiver ficado obsoleta.

Navegue pelos arquivos do servidor

Toda aba SSH tem um painel de arquivos para o host dela, à esquerda por padrão. Os botões no cabeçalho do painel abrem o port forwarding, movem o painel para o outro lado, ligam ou desligam Seguir pasta do terminal, atualizam a pasta, mostram ou ocultam arquivos ocultos e ocultam o painel. Com o painel oculto, clique na faixa FILES (SFTP) para trazê-lo de volta. Arraste a borda do painel para redimensionar. Ele abre com cerca de 30% da largura do espaço de trabalho, nunca abaixo de 420 px nem acima de 640 px, e a largura para a qual você o arrasta é lembrada. A lista suspensa no cabeçalho troca o painel e a faixa de estatísticas para outro host salvo; o terminal continua onde está.

O painel de arquivos é uma visão dos arquivos do servidor. Ele não tem metade local, então não é um gerenciador de dois painéis, e não sincroniza nem espelha pastas entre o seu computador e o servidor: os arquivos só se movem quando você os envia ou baixa. Seus próprios arquivos estão na aba Explorador (veja Editar um arquivo na sua própria máquina).

O painel nunca pede senha nem passphrase. Ele executa ssh e scp em modo batch pela conexão compartilhada da aba. Se o host usa senha ou keyboard-interactive, se a passphrase da chave não está no seu ssh-agent, ou se o host precisa do campo de jump host, faça login no terminal primeiro. Até lá, o painel mostra Não é possível ler o diretório. Os próprios comandos ssh do painel usam StrictHostKeyChecking=accept-new: um host que ainda não está no seu known_hosts é aceito e registrado, e uma chave de host alterada é recusada. A pergunta sobre uma chave de host nova é feita na aba do terminal. Quando a causa é uma senha expirada ou um login recusado, o aviso de erro também mostra Redefinir conexão.

O painel abre no diretório home da conta com que você entrou, que ele pergunta ao servidor. O botão de home volta para lá; a dica dele ainda diz Ir para a raiz (/root), seja qual for a conta. Para ir a outro lugar, clique na barra de caminho, digite um caminho absoluto como /var/www e pressione Enter. Clique em um trecho do caminho para subir direto até ele.

Digite em Filtro rápido de arquivos... para filtrar por nome, ou use os chips Todos, Pastas, Código, Imagens e Arquivos compactados. Clique no cabeçalho Nome do arquivo, Tamanho ou Modificado para ordenar. O botão de busca ao lado do filtro abre Busca remota com Grep: ele procura o texto dentro dos arquivos da pasta atual, ignora .git, node_modules, vendor, storage, dist, build e .cache, lista até 60 linhas encontradas e abre o arquivo no editor quando você clica em um resultado.

Um link cujo destino não existe continua aparecendo na lista. A listagem usa python3 no servidor, se ele tiver, e recorre a ls -la caso contrário. Com ls -la, um nome com vários espaços seguidos pode aparecer com menos, e um link aparece como name -> target.

ParaFaça isto
Abrir um itemDê dois cliques ou pressione Enter. Uma pasta abre, uma imagem abre em um visualizador e um arquivo de texto de até 5 MB abre no editor (um maior pede confirmação antes). Outros arquivos oferecem o download.
Criar um arquivo ou pastaClique em Novo arquivo ou Nova pasta na barra de ferramentas, ou clique com o botão direito num espaço vazio. Criar diretório e entrar nele também abre a nova pasta.
RenomearBotão direito → Renomear, ou pressione F2.
Alterar permissõesClique no valor da coluna Permissões, ou botão direito → Permissões do arquivo.... Marque leitura, escrita e execução, digite um valor octal ou escolha um preset (755, 644, 777, 600). Em uma pasta, você pode marcar Aplicar recursivamente a todas as subpastas e arquivos (-R).
ExcluirBotão direito → Excluir, ou pressione Delete, e depois confirme com Excluir permanentemente no servidor. Isso executa rm -rf no servidor e não pode ser desfeito.
Copiar um caminhoBotão direito → Copiar caminho para a área de transferência, ou Copiar URL(s) para a área de transferência para uma URL sftp://.
Abrir com um app localBotão direito em um arquivo → Abrir no app do sistema. Isso baixa uma cópia temporária e a abre. As alterações que você fizer nessa cópia não são enviadas.
Selecionar vários itensCmd+clique ou Ctrl+clique para adicionar itens, Shift+clique para um intervalo. Aparece uma barra com Baixar, Excluir e Limpar seleção.

As teclas funcionam depois que você clica dentro do painel:

TeclaAção
↑ / ↓Move a seleção. Segure Shift para estendê-la.
EnterAbre o item selecionado, como um clique duplo.
SpaceAbre o arquivo de texto selecionado no editor.
Backspace (também com Cmd ou Ctrl pressionado), ou Cmd+← / Ctrl+←Sobe uma pasta.
F2Renomeia.
DeleteExclui após confirmação. Com vários itens selecionados, uma única confirmação vale para todos.
Cmd+A / Ctrl+ASeleciona tudo.
Cmd+F / Ctrl+FFoca a caixa de filtro. Dentro da caixa, Esc a esvazia na primeira vez e devolve o foco à lista na segunda. As teclas que você digita na caixa ficam na caixa: Backspace apaga um caractere em vez de subir uma pasta.
LetrasPula para o primeiro nome que começa com o que você digita. Pressione a mesma letra de novo para ir para a próxima correspondência.

Enviar arquivo e Enviar pasta… na barra de ferramentas, e Enviar arquivos no menu do botão direito, copiam um arquivo ou uma pasta do seu computador para a pasta atual. Você também pode arrastar arquivos do Finder para o painel, o que os envia para a pasta que você está vendo. Soltar arquivos em um painel SSH também envia (veja Solte arquivos em um painel SSH), e soltar em um painel local continua digitando os caminhos locais. Baixar arquivo no menu do botão direito, ou o botão de download na linha de um arquivo, salva o arquivo na sua pasta Downloads. Pastas podem ser enviadas, mas não baixadas, e não dá para arrastar para fora do painel para baixar. O progresso aparece em Fila de transferência, na parte de baixo do painel.

Se o scp do seu computador for anterior ao OpenSSH 9.0, ou se a versão dele não puder ser lida, os envios e downloads recusam um caminho remoto que tenha qualquer coisa além de letras, dígitos e _./+,:@%=-. Um nome com espaço, aspas ou $ é recusado, e letras acentuadas e outras letras não ASCII são aceitas. Esse protocolo antigo entrega o caminho ao shell do servidor. A mensagem diz para renomear o arquivo ou atualizar o OpenSSH. Com o OpenSSH 9.0 ou mais recente, nada é recusado.
Navegar, enviar, baixar, editar, alterar permissões e fazer port forwarding são recursos gratuitos, sem pedido de upgrade. Veja Preços para saber o que o plano Free limita.

Faça o painel seguir o terminal

Quando você usa cd em um terminal SSH, o painel de arquivos pode ir para a mesma pasta. O acompanhamento vem ativado por padrão. O botão Seguir pasta do terminal no cabeçalho do painel o desliga e liga, e o painel lembra da sua escolha. Um ponto verde no botão indica que o terminal está informando a pasta.

A pasta vem do shell do servidor, que precisa informá-la com a sequência de escape OSC 7. O fish faz isso sozinho. O bash e o zsh precisam de uma linha em ~/.bashrc ou ~/.zshrc no servidor. O MXterm nunca digita nada na sua sessão SSH para fazê-lo informar.

Se nada foi informado cerca de 8 segundos depois da primeira saída do terminal, o painel mostra uma dica com os botões Copiar para bash (~/.bashrc) e Copiar para zsh (~/.zshrc), que copiam essa linha. Adicione-a ao arquivo de inicialização no servidor e abra um novo terminal. Não mostrar de novo para este servidor oculta a dica para esse host.

  • Com o painel aberto, ele segue um painel SSH da mesma aba que executa o host mostrado: o painel com foco, se já informou uma pasta, ou então o que informou por último. Um painel local nunca é seguido.
  • Ele só se move quando a pasta do terminal muda. A mesma pasta informada de novo a cada prompt não tira o painel de uma pasta que você mesmo abriu.
  • Ele não se move enquanto você digita na barra de caminho. Espera a próxima informação do terminal.
  • Se você usa cd várias vezes em sequência rápida, o painel lista só a última pasta.

Solte arquivos em um painel SSH

Arraste arquivos ou pastas do Finder para um painel SSH. O MXterm os envia para uma pasta no servidor e digita no prompt os caminhos que eles têm lá, para você usá-los no comando que está escrevendo. O painel de arquivos não precisa estar aberto. Soltar no painel de arquivos envia para a pasta que ele mostra, e soltar em um painel local digita os caminhos locais.

  • A pasta é a que o terminal informou (veja acima); se não houver, a que o painel de arquivos dessa aba mostra; se também não houver, a sua pasta home no servidor. Soltar arquivos nunca envia para /, a menos que o terminal tenha informado /. Se a pasta resultante fosse / sem essa informação, nada é enviado e o aviso manda você usar cd em uma pasta primeiro.
  • Um nome que já existe nunca é sobrescrito. O envio recebe o nome name (1).ext, name (2).ext e assim por diante, e o caminho digitado é o novo.
  • Os caminhos são digitados depois que o último envio termina, separados por espaços, com um espaço no final. Um nome que precisa disso vai entre aspas simples. Só os arquivos que foram enviados são digitados, e só nesse painel, mesmo com o broadcast ligado. Um nome com aspa simples, barra invertida, ! ou caractere de controle é enviado, mas não digitado, e o aviso o lista.
  • Os envios aparecem em Fila de transferência. Se a pasta não puder ser lida, nada é enviado e o aviso informa o motivo. Só um arrastar e soltar por host roda por vez, então um segundo avisa para soltar de novo quando o primeiro terminar.

Uma barra na parte de baixo do painel mostra o progresso e o resultado. Um resultado sem problemas some depois de 6 segundos. Uma falha ou uma recusa fica até você fechar.

Se a sessão SSH do painel não estiver em execução, os arquivos ainda são enviados, mas os caminhos não são digitados, e o aviso diz isso. Se o host do painel não estiver mais no gerenciador de hosts, nada é enviado.

Edite um arquivo no servidor

Dê dois cliques em um arquivo de texto, pressione Space nele ou clique com o botão direito → Ver/Editar. O editor tem destaque de sintaxe, seletor de tema, seletor de tamanho da fonte e quebra automática de linha, e lembra dessas escolhas. Só texto UTF-8 abre; baixe os outros arquivos.

O editor mostra o arquivo como ele está no servidor, e o salvamento o grava de volta com a mesma quebra de linha final: um arquivo sem quebra de linha final, como authorized_keys, continua sem ela depois, e um arquivo que tem uma mantém.

Se o servidor não conseguir ler o arquivo, por exemplo por falta de permissão, o editor mostra uma barra vermelha com o motivo e um botão Tentar ler o arquivo de novo no lugar da área de texto. Salvar fica desativado e o atalho de salvar (Cmd+S / Ctrl+S) não faz nada até uma leitura funcionar, então um buffer vazio nunca é gravado por cima do arquivo.
TeclaAção
Cmd+S / Ctrl+SSalva no servidor. O botão Salvar faz o mesmo.
EscFecha. Se houver alterações não salvas, ele pergunta: Continuar editando ou Descartar e fechar.
Cmd+Shift+F / Ctrl+Shift+FLocalizar e substituir.
Cmd+G / Ctrl+GIr para a linha.
Cmd+/ / Ctrl+/Alterna o comentário de linha.
Option+Z / Alt+ZAlterna a quebra automática de linha.

Antes de salvar, o editor verifica se o arquivo mudou no servidor desde que você o abriu ou salvou pela última vez, por exemplo por causa de um deploy. Se mudou, Este arquivo mudou no servidor oferece Cancelar, Recarregar do servidor (descarta suas edições e carrega a versão do servidor) e Sobrescrever mesmo assim. A verificação usa python3 no servidor; sem ele, o salvamento segue sem verificar.

O salvamento grava em um arquivo temporário ao lado do original e depois o copia por cima, então uma conexão que cai não deixa o arquivo vazio, e o arquivo mantém as permissões e o dono.

Edite um arquivo na sua própria máquina

O mesmo editor agora também abre arquivos locais. A aba Explorador do painel direito mostra uma árvore da pasta em que o painel com foco está trabalhando (a sua máquina, não um servidor), e clicar em um arquivo o abre no editor que você acabou de ler. Não há host para escolher nem conexão envolvida.

  • Abra o painel direito com Cmd+Option+B no macOS ou Ctrl+Alt+B no Linux, e escolha a aba Explorador (o ícone de árvore de pastas).
  • A árvore parte do diretório de trabalho do painel com foco e muda de raiz sozinha quando você foca um painel que trabalha em outro lugar.
  • Filtre por nome, mostre ou oculte arquivos ocultos e atualize com os botões no topo.
  • Clique em um arquivo para editá-lo. Cmd+S (Ctrl+S no Linux) o salva de volta no disco.

Só abrem aqui os arquivos que o painel SFTP já deixaria você editar: texto UTF-8 de até 5 MB. O resto fica como está.

O Explorador navega e edita. Ele não tem Novo arquivo, Nova pasta, Renomear nem Excluir. Esses existem só para arquivos remotos, no painel SFTP. Arquivos fora do diretório de trabalho do painel não podem ser alcançados por ele, então um symlink que aponta para fora dessa pasta não abre.

Encaminhe uma porta

O port forwarding permite acessar, a partir da sua máquina, uma porta que escuta no 127.0.0.1 do próprio servidor, como a de um banco de dados. O redirecionamento é adicionado à conexão SSH compartilhada da aba.

  1. Conecte-se ao host e faça login no terminal.
  2. No cabeçalho do painel de arquivos, clique no botão de port forwarding (Gerenciador de redirecionamento de portas e túneis SSH).
  3. Em Adicionar redirecionamento de porta, informe um nome para a regra, uma porta local e uma porta remota, depois clique em Adicionar regra.
  4. Clique em Iniciar na regra. Quando o ssh aceita o redirecionamento, a regra mostra EM EXECUÇÃO.
  5. Aponte o seu cliente para o 127.0.0.1 e para a porta local. Parar remove o redirecionamento.

Cada regra é ssh -L 127.0.0.1:<local port>:127.0.0.1:<remote port>. A porta local escuta só no loopback da sua máquina, e a outra ponta é 127.0.0.1 do ponto de vista do servidor. Este diálogo não consegue encaminhar para outra máquina da rede do servidor, abrir uma porta no servidor (-R) nem iniciar um proxy SOCKS (-D).

Se Iniciar mostrar um erro que menciona Control socket, ainda não há conexão aberta para esse host. Faça login na aba do terminal e tente de novo.

As regras não são salvas. Fechar o diálogo limpa a lista, e um redirecionamento que ainda está em execução continua aberto, sem como pará-lo pelo diálogo, até a conexão compartilhada fechar. Redefinir a conexão a fecha e encerra o redirecionamento. Clique em Parar antes de fechar o diálogo.

Estatísticas do servidor

Uma faixa na base de uma aba SSH mostra o nome do host, o uptime e três leituras:

LeituraO que ela mede
CPUA carga média de 1 minuto dividida pelo número de núcleos de CPU, em porcentagem, limitada a 100.
RAMMemória em uso: total menos disponível, de /proc/meminfo. Mostra um traço em vez de 0% quando o servidor não informa o total, como acontece com um servidor Mac ou BSD.
DiscoEspaço usado em /.

Uma leitura fica verde até 65%, âmbar acima de 65% e vermelha acima de 85%. A faixa atualiza a cada 20 segundos, e Atualizar estatísticas da VPS faz a leitura na hora. Ela executa um script curto de python3 pela conexão compartilhada e lê arquivos /proc do Linux, então precisa de python3 no servidor e, em um host com senha, precisa que o terminal já tenha feito login. A faixa aparece depois da primeira leitura bem-sucedida; sem python3, ela não aparece.

Command Recipes

O Command Recipes compara o que você digita com um conjunto fixo de comandos Linux prontos: arquivos grandes, uso de memória e CPU, uso de disco, portas abertas, Docker, Nginx, UFW, logs do sistema e reinicialização. Nenhum modelo de IA é executado. Abra-o com o botão redondo no canto inferior direito de uma aba SSH, ou com Cmd+J no macOS.

Digite um pedido ou clique em uma dica rápida. Quando uma receita corresponde, você vê o comando e uma explicação de uma linha. Copiar o copia. Inserir e executar no terminal o digita no painel com foco da aba atual, pressiona Enter e também o copia. Quando nada corresponde, nenhum comando é oferecido.

Inserir e executar no terminal executa o comando na hora, no painel que estiver com foco, que pode ser um shell local. Algumas receitas alteram o servidor: a dica rápida do Docker executa docker system prune -af --volumes, que apaga volumes não usados e os dados deles, e outras recarregam o Nginx, abrem uma porta no firewall ou reiniciam o servidor. Leia o comando antes de executá-lo.

Pergunte a uma IA sobre o MXterm Pro

Gere na hora uma resposta no ChatGPT, no Claude ou no Perplexity, com base nesta página. Quem escreve a resposta é o assistente, não a gente, então confira as fontes que ele cita.

Pergunta enviadaComo salvo hosts SSH no MXterm Pro e uso o painel SFTP, os port forwards e as estatísticas do servidor?