
ターミナルネイティブのリモートアクセススイートで、SSH、クラウドインベントリ、プロバイダー対応コネクタ、並列コマンド、マルチプレックスワークスペース、ファイル転送、モニタリングを提供します。
ls + ssh = lssh
lsshは、SSHワークフロー、クラウドインベントリ、プロバイダー対応コネクタのためのターミナルネイティブのリモートアクセススイートです。
OpenSSH設定、lssh設定、またはプロバイダーのインベントリからホストを選択し、ネイティブSSHまたはAWS SSM、EC2 Instance Connect Endpoint、WinRM、Telnet、カスタムプロバイダーなどのコネクタバックエンドを通じて操作できます。
インタラクティブシェル、並列コマンド、マルチプレックスワークスペース、ファイル転送、同期、マウント、監視に使用できます。コネクタ対応ホストは、そのコネクタがサポートする操作のみを公開します。
brew install blacknon/lssh/lssh
go install github.com/blacknon/lssh/cmd/lssh@latest
プロバイダー対応のインベントリおよびコネクタ機能は、個別のプロバイダー実行可能ファイルを使用します。cmd/lsshのみをインストールした場合、これらのプロバイダーバイナリは自動的にインストールされません。
ローカル開発では、以下のコマンドでバンドルされたプロバイダーをインストールしてください:
mise run provider_install
リリースビルドの場合は、オールインワンのlssh-complete_*アーカイブをインストールするか、GitHub Releasesから対応するlssh-providers_*アーカイブを追加してください。
その他のオプションやプラットフォーム固有の注意事項を含むインストールの詳細については、docs/install.mdを参照してください。
すでに~/.ssh/configを使用していますか?
以下のコマンドを実行するだけです:
lssh
既存のSSH設定からlssh設定を生成しますか?
lssh --generate-lssh-conf > ~/.lssh.toml
lsshはシンプルなワークフローを前提に設計されています:
接続先がわかっている場合は、単一のホストを直接指定することもできます:
lssh -H my-server
設定形式と設定の詳細については、cmd/lssh/README.mdを参照してください。
lsshをすぐに実行可能なローカルプレイグラウンドで試したい場合は、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では、プロバイダー対応のインベントリおよびシークレットワークフローはベータ版として扱うことを推奨します。ネイティブSSHを超えるコネクタ対応アクセスは、特にクラウド管理ランタイムや非SSHバックエンドについては、まだ実験的です。
プロバイダー指向のフローをローカルで試すには、以下のデモから始めてください:
プロバイダーアーキテクチャとプロトコルの概要については、provider/README.mdから始めてください。カテゴリの詳細は、inventory、connector、secret、mixedにも文書化されています。
これらのプロバイダー実装は現在このリポジトリにバンドルされています。
|
provider-inventory-proxmox Proxmoxインベントリからホストエントリを構築します。 |
| provider-connector-openssh OpenSSH互換の接続処理をプロバイダー対応コネクタとして使用します。 |
| EC2インベントリとAWS SSMおよびEC2 Instance Connect Endpointコネクタを組み合わせます。ネイティブSSHに近いフローは使用可能ですが、コネクタ固有の動作はまだ実験的です。 |
lsshプロジェクトには、SSH中心のワークフローのための複数のツールが含まれています。
lsshコマンドの詳細、転送、ローカルrcの使用法lsshを評価する場合、これらのプロジェクトも一見の価値があります。これらはスイートの一部と重複しますが、通常はワークフロー全体の狭い部分をカバーします。
lssh suite is differentlsshは、ホスト選択、インタラクティブSSH、並列コマンド実行、転送、コネクタ/プロバイダー対応ターゲットを組み合わせています。lsshellは、多くのターミナルを起動する代わりに、並列インタラクティブシェルワークフローに焦点を当てています。lscp、lsftp、lssyncは、同じスイート内のファーストクラスコマンドとしてファイル転送と同期をカバーします。lsmuxは、セッションテンプレーティングだけでなく、ペイン型SSHワークスペースを提供します。lspipeは、選択したホストをローカルパイプラインや自動化から再利用可能に保ちます。
![]() インタラクティブなホスト選択 |
![]() 並列コマンド実行 |
![]() マルチプレックスワークフロー |
![]() コマンド付きマルチプレックスワークフロー |
|
provider-connector-telnet コネクタインターフェースを通じてtelnetターゲットにアクセスします。 |
|
provider-connector-winrm WinRMターゲットに対してコマンド実行ワークフローを実行します。インタラクティブシェルはv0.10.0ではサポートされていません。 |
|
provider-mixed-azure-compute コネクタ対応のアクセス設定を含むAzure Computeインベントリを構築します。 |
|
provider-mixed-gcp-compute コネクタ対応のアクセス設定を含むGoogle Compute Engineインベントリを構築します。 |
|
provider-secret-bitwarden [Bitwarden](https://bitwarden.com/)からシークレット参照を解決します。 |
provider-secret-onepassword [1Password](https://1password.com/)からシークレット参照を解決します。 |
provider-secret-custom-script カスタムローカルスクリプトを通じてシークレット参照を解決します。 |
|
provider-secret-os-keychain ローカルOSのキーチェーンからシークレット参照を解決します。 |
![]() lssh core / stableインタラクティブなSSHアクセス、並列コマンド、転送モード。 |
![]() lscp transfer / stableSCP形式のSSH/SFTPコピー(リモート間転送を含む)。 |
![]() lsftp transfer / stableファイルの参照と転送のためのインタラクティブなSFTPシェル。 |
![]() lsshell sysadmin / betaブロードキャストとターゲット指定コマンドを使用した並列インタラクティブシェル。 |
![]() lsmux sysadmin / betaマルチホストターミナルワークフローのためのペイン型SSHワークスペース。 |
![]() lsmon monitor / beta追加のリモートエージェント不要のSSH経由マルチホスト監視UI。 |
![]() lssync transfer / betaデーモンと双方向モードを備えたSSH/SFTP上のツリー同期。 |
![]() lsdiff sysadmin / beta同期されたTUIで複数ホストのリモートファイルを比較します。 |
![]() lspipe sysadmin / alphaローカルパイプラインや自動化から再利用可能な永続ホストセッション。 |
lsshfstransfer / betaLinuxではFUSE、macOSではNFSを使用してリモートディレクトリをマウントします。 |
| Project | Closest lssh command(s) | Main focus | How it differs from lssh |
|---|
sshs | lssh | TUIベースのSSHホスト選択 | 集中型ホスト選択ツールとしては同様ですが、lsshは並列実行、転送、マルチプレックスワークフロー、プロバイダー/コネクタ対応ターゲットもカバーします。 |
ClusterSSH (cssh) | lssh -P, lsmux, lsshell | マルチホストインタラクティブ管理 | 複数ターミナルへのブロードキャスト入力に強いですが、lsshellとlsmuxは1つのスイート内で同期シェルワークフローを実現するのに近いです。 |
pssh | lssh -p, lscp, lssync | 並列コマンド実行と転送ツール | 並列CLIジョブには適していますが、lsshはTUIホスト選択、インタラクティブワークフロー、より統合されたマルチコマンドツールセットを追加します。 |
tmuxinator | lssh -P, lsmux | tmuxセッションレイアウト管理 | 定義済みのtmuxワークスペースには優れていますが、それ自体はSSHホスト選択ツールや転送ツールではありません。lsmuxは最初からSSH指向です。 |