
Uma suíte de acesso remoto nativa do terminal para SSH, inventários em nuvem, conectores baseados em provedores, comandos paralelos, workspaces mux, transferência de arquivos e monitoramento.
ls + ssh = lssh
lssh é um conjunto de ferramentas de acesso remoto nativo do terminal para fluxos de trabalho SSH, inventários em nuvem e conectores baseados em provedores.
Ele permite selecionar hosts do arquivo de configuração do OpenSSH, do próprio config lssh ou de inventários de provedores, e então operá-los através de SSH nativo ou backends de conector, como AWS SSM, EC2 Instance Connect Endpoint, WinRM, Telnet e provedores personalizados.
Use-o para shells interativos, comandos paralelos, workspaces mux, transferência de arquivos, sincronização, montagem e monitoramento. Hosts baseados em conectores expõem apenas as operações suportadas por seu conector.
brew install blacknon/lssh/lssh
go install github.com/blacknon/lssh/cmd/lssh@latest
Os recursos de inventário e conector baseados em provedores usam executáveis de provedor separados.
Se você instalar apenas cmd/lssh, esses binários de provedor não são instalados automaticamente.
Para desenvolvimento local, instale os provedores incluídos com:
mise run provider_install
Para builds de lançamento, instale o arquivo all-in-one lssh-complete_* ou adicione o arquivo lssh-providers_* correspondente dos GitHub Releases.
Para mais detalhes de instalação, incluindo outras opções e notas específicas de plataforma, veja docs/install.md.
Já usa o ~/.ssh/config?
Basta executar:
lssh
Quer gerar um config lssh a partir do seu config SSH existente?
lssh --generate-lssh-conf > ~/.lssh.toml
lssh é construído para um fluxo de trabalho simples:
![]() Seletor interativo de hosts
Selecione um ou mais hosts pela interface TUI. |
![]() Execução paralela de comandos
Escolha hosts e execute o mesmo comando neles. |
![]() Fluxo de trabalho mux
Abra o fluxo de trabalho com múltiplos painéis no terminal. |
![]() Fluxo de trabalho mux com comando
Inicie a interface mux e execute um comando imediatamente. |
Você ainda pode direcionar um único host diretamente quando já souber onde conectar:
lssh -H my-server
Para mais detalhes sobre formatos de configuração e ajustes, veja cmd/lssh/README.md.
Quer testar o lssh rapidamente com um playground local pronto para uso?
Comece por demo/README.md.
Para o fluxo do conector telnet + provedor multi-hop, use demo-telnet-provider/README.md.
O lssh suporta tanto seu arquivo de configuração OpenSSH existente quanto seu próprio formato de configuração.
Se você quiser começar rapidamente, pode continuar usando o ~/.ssh/config como está. Se quiser metadados de host mais ricos e configurações orientadas a fluxo de trabalho, pode migrar para um config lssh.
Você também pode gerar um config lssh a partir do seu config SSH existente:
lssh --generate-lssh-conf > ~/.lssh.toml
Mesmo após migrar para o config lssh, você ainda pode apontá-lo para seu arquivo OpenSSH existente e carregar hosts de lá:
[sshconfig.default]
path = "~/.ssh/config"
Para mais detalhes sobre formatos de configuração e ajustes, veja docs/configuration.md.
O lssh pode trabalhar com mais do que entradas estáticas de config SSH.
Os provedores permitem buscar hosts de fontes externas de inventário, resolver segredos momentos antes da conexão e usar backends de conexão não-SSH, como conectores gerenciados em nuvem.
Na v0.10.0, os fluxos de trabalho de inventário e segredos baseados em provedores são melhor tratados como beta.
O acesso baseado em conector além do SSH nativo ainda é experimental, especialmente para ambientes de execução gerenciados em nuvem e backends não-SSH.
Se quiser experimentar fluxos orientados a provedores localmente, comece por estas demonstrações:
Para a visão geral da arquitetura e protocolo dos provedores, comece por provider/README.md. Detalhes de categoria também são documentados em inventory, connector, secret e mixed.
Estas implementações de provedor estão atualmente incluídas neste repositório.
|
provider-inventory-proxmox Cria entradas de host a partir do inventário Proxmox. |