Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sshelf — Interface de terminal rápida para seus hosts SSH: pesquisa difusa e conexão em dois toques, transferência de arquivos SFTP em painel duplo e encaminhamento de porta em segundo plano. Mantém seu próprio banco de dados de hosts e gera o comando ssh — nunca edita o ~/.ssh/config. | Kitploit
Ferramentas/GitHubGitHub/max-rh/sshelf
Utilitários de Propósito GeralSegurança de RedeUtilitários e FrameworksAutenticaçãoFerramenta de Acesso Remoto
GitHubmax-rh/sshelf

sshelf

Interface de terminal rápida para seus hosts SSH: pesquisa difusa e conexão em dois toques, transferência de arquivos SFTP em painel duplo e encaminhamento de porta em segundo plano. Mantém seu próprio banco de dados de hosts e gera o comando ssh — nunca edita o ~/.ssh/config.

Ver Repositório
6689há 3 diasRevisado pelo Kitploit
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

sshelf

Pesquise seus hosts SSH com busca difusa e conecte-se em dois toques de tecla.

O sshelf mantém sua própria lista de hosts, monta o comando ssh para você e depois sai do caminho. Ele entrega o terminal ao OpenSSH real e nunca toca em ~/.ssh/config.

crates.io CI docs built with Ratatui MSRV license

sshelf: digite algumas letras e ele já tem o comando ssh pronto

Instalação

macOS e Linux, x86_64 e arm64. Os pacotes pré-compilados não precisam de toolchain Rust. Em tempo de execução, o sshelf exige OpenSSH 8.4+, que é de onde vem o fornecimento automático de senha.

Homebrew (macOS ou Linux):

root@kitploit:~
brew install max-rh/tap/sshelf

Instalador via shell (binário pré-compilado, detecta sua plataforma):

root@kitploit:~
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-rh/sshelf/releases/latest/download/sshelf-installer.sh | sh
Mais opções (Debian/Ubuntu · Fedora/RHEL · Gentoo · cargo)

Debian/Ubuntu: baixe o .deb do último release e depois sudo apt install ./sshelf_*_amd64.deb (ou *_arm64.deb).

Fedora / RHEL / Rocky / openSUSE: baixe o .rpm (build estático, funciona em qualquer distro RPM) do último release e depois sudo dnf install ./sshelf-*.x86_64.rpm (ou .aarch64.rpm).

Gentoo: overlay mantido pela comunidade (não oficial, agradecimentos a @masterwolf-git). Execute eselect repository enable masterwolf && emerge --sync && emerge --ask app-admin/sshelf.

Cargo (do crates.io; exige Rust 1.88+): cargo install sshelf.

O tab-completion de shell acompanha todos os pacotes. Abra um novo shell após instalar. No Linux, os segredos usam um backend Secret Service em Rust puro (sem dependências de build de libdbus/OpenSSL).

Detalhes completos e configuração de completions: Guia de instalação.

Por que eu construí isso

Eu administro algumas dezenas de máquinas (um homelab, alguns VPSes, algumas caixas atrás de um bastion), e vivia digitando ssh -J bastion -i ~/.ssh/some-key -p 2222 user@host de memória ou vasculhando meu histórico de shell para encontrá-lo. Todo gerenciador de SSH que tentei queria ou ser dono do ~/.ssh/config ou me dar uma conta e sincronizar meus hosts pelo servidor de alguém. Eu não queria nenhum dos dois. Eu queria um lançador que mantivesse sua própria lista, montasse o comando e saísse do caminho. E um lugar para guardar as senhas das poucas máquinas que não podem usar chaves, sem nunca colocá-las em um arquivo. Então eu o construí.

O que você obtém

Lançador com busca difusa

Digite para filtrar. Enter conecta. Seus hosts mais usados sobem para o topo sozinhos (frecência: contagem de uso, decaída por recência), e tag:prod / site:homelab estreitam a lista ainda mais. Ctrl-y copia o comando que ele montou em vez de executá-lo. Pelo shell, sshelf prod-web conecta pelo nome e sshelf - reconecta ao último host, ambos sem abrir a TUI.

O lançador do sshelf filtrando três hosts enquanto você digita

Ele faz exec() no seu ssh

O sshelf monta o argv a partir do registro do host, derruba sua própria interface e então substitui a si mesmo pelo OpenSSH. Não há wrapper entre você e a sessão: um TTY real, seu ssh, suas flags sem config. Quando a sessão termina, você volta ao seu shell, não a um menu. O comando que ele executa é exatamente o que Ctrl-y mostra a você. Como o comando é montado.

Transferência de arquivos em dois painéis

Ctrl-t abre seus arquivos à esquerda e os do host à direita, por uma única conexão autenticada. Space marca, Ctrl-a marca tudo o que o filtro mostra, Ctrl-s envia o conjunto inteiro em qualquer direção, F7 cria um diretório. Um nome que o destino já possui é ignorado, nunca sobrescrito.

A tela de transferência em dois painéis com duas entradas marcadas

Encaminhamentos de porta em segundo plano

Ctrl-f abre um túnel Local, Remoto ou SOCKS que continua rodando depois que você sai do sshelf, e depois que você fecha o terminal. F4 lista todos eles em todos os hosts e interrompe o que você escolher. Eles são rastreados por pid e reconciliados com os processos que estão realmente rodando, então nada permanece em uma lista depois de morrer. Sem daemon, sem supervisor.

O gerenciador de encaminhamentos listando dois túneis ativos

Modo tmux

Defina tmux = "window" ou "pane" e Enter abre o host em uma nova janela do tmux (nomeada com o nome do host) ou em um novo painel, em vez de substituir o sshelf. Encerre a sessão e o seletor ainda está ali, ainda rodando.

Enter abre o host em uma nova janela do tmux; o sshelf continua rodando

Sites e tags

F3 gerencia sites: um site agrupa hosts e pode carregar um bastion, usuário, porta e chave compartilhados que seus membros herdam no momento da conexão, preenchendo apenas os campos que um host deixa vazios. Tags são rótulos de forma livre nos quais você filtra. Ambos aparecem na lista, e um bastion herdado aparece no comando que o sshelf monta.

O gerenciador de sites com três sites e seus padrões compartilhados

Senhas sem sshpass

Para os hosts que não podem usar chaves, o sshelf armazena a senha no chaveiro do seu sistema operacional (ou um cofre criptografado com age em uma máquina sem cabeça) e a fornece por meio de SSH_ASKPASS quando o ssh pede. Ele responde apenas a prompts com o formato de uma senha real ou prompt de passphrase, então um servidor não pode pescar o segredo com texto parecido. A senha nunca está em um arquivo, nunca em ps, nunca em uma linha de comando. Hosts que também querem um código de verificação recebem um prompt para ele antes de a conexão começar. Senhas, chaves e 2FA · Segurança.

O formulário de adicionar host na seção de autenticação, escolhendo uma chave

Exportação para ssh_config

sshelf export escreve um fragmento de ssh_config próprio e dá a você uma única linha Include para colar em ~/.ssh/config você mesmo. Depois disso, ssh, scp, rsync, git comuns e qualquer coisa que leia a config do SSH (VS Code Remote-SSH, JetBrains Gateway) resolvem seus hosts do sshelf pelo nome, bastion e tudo. O arquivo é atualizado sempre que seus hosts mudam. O sshelf ainda não escreve nada em ~/.ssh.

sshelf export escrevendo um fragmento de ssh_config, e o próprio fragmento

Importe o que você já tem

sshelf import lê ~/.ssh/config, estritamente somente leitura, e copia os hosts que consegue modelar. sshelf import --tailscale executa sua própria CLI tailscale e transforma sua tailnet em hosts pesquisáveis, com nomes MagicDNS, a tailnet como um site e tags ACL como tags. Ambos são somente adição, então reexecutar um deles é sempre seguro, e nenhum acontece a menos que você peça.

sshelf doctor

Um comando para quando algo não está funcionando. Ele verifica sua versão do OpenSSH, se o backend de segredos realmente abre, se hosts.toml faz parse, hosts apontando para um site que não existe, um socket de agente ausente e uma exportação que se desviou. Ele nomeia a correção para cada um. Somente leitura, sai com 1 se algo falhar, e nunca contata um host.

sshelf doctor listando suas verificações, com um aviso

Como ele se compara

Compilado em setembro de 2026 a partir do próprio README de cada projeto (e, para o Termius, seu site). Uma célula lendo "não informado" significa que a documentação do próprio projeto não diz.

sshelfpurpleomnysshVoltiusTermius
Executa emterminal (TUI)terminal (TUI)terminal (TUI) + app desktopapp desktop (Tauri)app desktop + mobile
Edita ~/.ssh/confignuncasim, no lugarnão, lê na inicializaçãon/d (armazenamento próprio)n/d (armazenamento próprio)
Conta necessárianãonãonãopara sincronização em tempo realsim
Guarda tokens para outros serviçosnãosim, um por provedor de nuvemnãosim, para sincronizaçãonão informado
Chamadas de rede própriasnenhumasincronização com provedor de nuvempolling de métricas de hostsincronização, atualizações, métricas de hostsincronização
Custódia de segredosseu chaveiro do SO / cofre agechaveiro + gerenciadores de senhanão informadoseu cofre E2EEseu cofre criptografado
Conectarexec() no seu sshexecuta seu comando sshterminal embutidoterminal embutidoterminal embutido
Encaminhamentos de portasim, sobrevivem ao sairsim, monitoramento ao vivonão informadosimsim
Transferência de arquivosSFTP em dois painéispainéis divididosSFTP em dois painéisdois painéis, arrastar e soltarSFTP
Contêineres / dashboards de métricasnãosimsimsimnão informado
Compartilhamento em equipenãonãonãoplanos pagosplanos pagos
PlataformasmacOS, LinuxmacOS, LinuxmacOS, Linux, Windows, TermuxWindows, macOS, LinuxmacOS, Windows, Linux, iOS, Android
LicençaMIT / Apache-2.0MITApache-2.0AGPL-3.0proprietária

O sshelf não tem dashboards, nem gerenciamento de contêineres, nem compartilhamento em equipe, nem build para Windows. Os três primeiros são escolhas, e PRIVACY.md explica o porquê: cada um significaria o sshelf guardando algo seu, ou conversando com algo por conta própria.

O que ele nunca fará

  • Sem telemetria. Sem analytics, sem relatórios de crash, sem verificação de atualização.
  • Sem conta, sem nuvem, sem servidor de sincronização. Não há nada para se cadastrar.
  • Sem tokens guardados. O sshelf nunca armazena uma credencial de nuvem ou API.
  • Sem chamadas de rede próprias. O único tráfego é a sessão SSH que você pediu.
  • Nunca edita ~/.ssh/config e nunca escreve nada em ~/.ssh.
  • Sem segredos em hosts.toml. Esse arquivo é seguro para commitar e compartilhar.
  • Sem Electron. Um único binário, cerca de quatro megabytes.

PRIVACY.md diz o que ele lê, escreve, executa e envia. SECURITY.md é o modelo de ameaças para segredos armazenados.

Primeiros cinco minutos

root@kitploit:~
sshelf                        # inicie a TUI (Ctrl-a adiciona seu primeiro host)
sshelf import --dry-run       # pré-visualize uma importação somente leitura de ~/.ssh/config
sshelf import                 # ...faça isso
sshelf import --tailscale     # ...ou importe toda a sua tailnet do Tailscale
sshelf prod-web               # conecte direto a um host salvo (pula a TUI)
sshelf -                      # reconecte ao host usado mais recentemente
sshelf list tag:prod --json   # listagem para scripts (campos + o comando ssh)
sshelf print-command db       # imprima o comando ssh em vez de executá-lo
sshelf export                 # arquivo Include para ssh/scp/VS Code comuns verem seus hosts
sshelf doctor                 # algo não está funcionando? verifique a configuração e receba a correção

Na TUI: digite para filtrar (mais tag:NAME / site:NAME) e Enter para conectar. F1 mostra todas as teclas.

Documentação

O guia do usuário cobre tudo: Quickstart · Referência da CLI · Configuração · FAQ · sshelf doctor. Há páginas por recurso para transferência de arquivos, encaminhamento de porta, sites e tags, senhas e 2FA e exportação de config SSH. Decisões de arquitetura e design vivem em docs/, e há um llms.txt para as máquinas.

Perguntas e ideias

Pergunte, sugira um recurso ou mostre o que você construiu com ele em GitHub Discussions. Contribuições são bem-vindas. Comece por CONTRIBUTING.md.

Suporte

Se o sshelf for útil para você, uma gorjeta em Bitcoin é apreciada (totalmente opcional):

Donate BTC

Bitcoin: bc1qcdeyhpwq76u97dhymx876n49uq85z4y3ccrpje

Licença

Duplamente licenciado sob MIT ou Apache-2.0, à sua escolha (a norma do ecossistema Rust).

Baixar ferramenta