
ターミナルネイティブのリモートアクセススイートで、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はシンプルなワークフローを前提に設計されています:
![]() インタラクティブなホスト選択
TUIから1つ以上のホストを選択します。 |
![]() 並列コマンド実行
ホストを選択し、すべてのホストで同じコマンドを実行します。 |
![]() マルチプレックスワークフロー
マルチペインのターミナルワークフローを開きます。 |
![]() コマンド付きマルチプレックスワークフロー
mux UIを起動し、すぐにコマンドを実行します。 |
接続先がわかっている場合は、単一のホストを直接指定することもできます:
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互換の接続処理をプロバイダー対応コネクタとして使用します。 |
provider-connector-telnet コネクタインターフェースを通じてtelnetターゲットにアクセスします。 |
provider-connector-winrm WinRMターゲットに対してコマンド実行ワークフローを実行します。インタラクティブシェルはv0.10.0ではサポートされていません。 |
|
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インベントリを構築します。 |