ls + ssh = lssh
lssh 是一款终端原生远程访问套件,适用于 SSH 工作流、云清单以及支持供应商的连接器。
它允许您从 OpenSSH 配置、lssh 配置或供应商清单中选择主机,然后通过原生 SSH 或连接器后端(如 AWS SSM、EC2 Instance Connect Endpoint、WinRM、Telnet 及自定义提供商)操作这些主机。
可用于交互式 Shell、并行命令、多窗口工作区、文件传输、同步、挂载以及监控。基于连接器的主机仅暴露其连接器支持的操作。
brew install blacknon/lssh/lssh
go install github.com/blacknon/lssh/cmd/lssh@latest
由供应商支持的清单和连接器功能需要单独的供应商可执行文件。
如果仅安装 cmd/lssh,这些供应商二进制文件不会自动安装。
对于本地开发,请使用以下命令安装附带供应商:
mise run provider_install
对于发布构建,请从 GitHub Releases 安装一体化 lssh-complete_* 存档,或添加匹配的 lssh-providers_* 存档。
有关其他安装选项和平台特定说明的更多详细信息,请参阅 docs/install.md。
已经在使用 ~/.ssh/config?
只需运行:
lssh
想从现有 SSH 配置生成 lssh 配置?
lssh --generate-lssh-conf > ~/.lssh.toml
lssh 专为简单工作流而构建:
![]() 交互式主机选择器
在 TUI 中选择一个或多个主机。 |
![]() 并行命令执行
选择主机并在它们上运行相同命令。 |
![]() Mux 工作流
打开多面板终端工作流。 |
![]() 带命令的 Mux 工作流
启动 Mux UI 并立即启动命令。 |
您仍然可以在已知连接目标时直接定位单个主机:
lssh -H my-server
有关配置格式和设置的更多详细信息,请参阅 cmd/lssh/README.md。
想快速尝试 lssh 并使用即用型本地 playground?
从 demo/README.md 开始。
对于 telnet 连接器 + 多跳提供商流程,请使用 demo-telnet-provider/README.md。
lssh 同时支持您现有的 OpenSSH 配置及其自身的配置格式。
如果您想快速上手,可以继续按原样使用 ~/.ssh/config。如果您想要更丰富的主机元数据和工作流导向设置,则可以改用 lssh 配置。
您还可以从现有 SSH 配置生成 lssh 配置:
lssh --generate-lssh-conf > ~/.lssh.toml
即使迁移到 lssh 配置后,您仍可以指向现有 OpenSSH 配置并从那里加载主机:
[sshconfig.default]
path = "~/.ssh/config"
有关配置格式和设置的更多详细信息,请参阅 docs/configuration.md。
lssh 不仅限于静态 SSH 配置条目。
提供商允许它从外部清单源拉取主机,在连接前解析密钥,并使用非 SSH 连接后端,例如云管理连接器。
在 v0.10.0 中,基于提供商的清单和密钥工作流被视为 beta。
超出原生 SSH 范围的基于连接器的访问仍然处于 experimental 状态,特别是对于云管理运行时和非 SSH 后端。
如果您想本地尝试提供商导向流程,请从这些演示开始:
有关提供商架构和协议概述,请从 provider/README.md 开始。 类别详细信息也记录在 inventory、connector、secret 和 mixed 下。
这些提供商实现当前捆绑在此仓库中。
|
provider-inventory-proxmox 从 Proxmox 清单构建主机条目。 |
|
provider-connector-openssh 使用与 OpenSSH 兼容的连接处理作为基于提供商的连接器。 |
provider-connector-telnet 通过连接器接口访问 telnet 目标。 |
provider-connector-winrm 对 WinRM 目标运行命令执行工作流。在 v0.10.0 中不支持交互式 Shell。 |
|
provider-mixed-aws-ec2 将 EC2 清单与 AWS SSM 和 EC2 Instance Connect Endpoint 连接器结合。与原生 SSH 类似的工作流可用,而连接器特定行为仍处于实验阶段。 |
provider-mixed-azure-compute 构建带有连接器感知访问设置的 Azure Compute 清单。 |
provider-mixed-gcp-compute 构建带有连接器感知访问设置的 Google Compute Engine 清单。 |