Rust製TUI SSHホストマネージャー、sshc
(github.com/hang-in)こんにちは。
ターミナル上で軽快かつ安全にホストを探して接続できる
小さなRust製TUIツール、sshc を共有します。**
GitHubリポジトリ: https://github.com/hang-in/sshc
主な機能とアーキテクチャ
sshcは 「ユーザーが自分で作成した設定ファイルには決して手を加えない」 という思想のもとで設計されています。
インラインモード (sshc) 画面を切り替えず、シェルプロンプトのすぐ下にピッカーを表示します。 (スクロールバックを壊さず、Enter一発で素早く接続)
管理モード (sshc -m) 全画面TUIでホストの追加・削除・お気に入り登録・タグ編集をサポートします。 ($EDITOR連携と直感的なホスト管理)
安全な分離構造 新しいホストは ~/.ssh/config.d/sshc.conf にのみ書き込まれます。 (既存の ~/.ssh/config ファイルには Include 1行だけを追加し、安全に保護)
幅広いプラットフォーム対応 macOS、Linux(ビルド必要)はもちろん、ネイティブWindowsビルド(v0.7+) にも対応しています。 (WSL2ユーザーはもちろん、Windows OpenSSH環境にも完全対応)
なぜ fzf スニペットや他のツールではなく sshc なのか?
- インテリジェントな優先順位付けとタグシステム:
管理モードでよく使うサーバーをピン留め(f)しておいたり、最近接続した履歴があると、インラインモードで自動的に最上位に表示されます。# @tags: prod, stagingのようなコメントベースのタグに対応しており、@prodと検索するだけで本番サーバーだけを絞り込めます。 - 環境診断ツール (
sshc --doctor):
インフラがときどき不調になるとき、ネットワーク呼び出しを最小限に抑えつつ、~/.sshの権限状態やssh-agentのパイプ接続状態(SSH_AUTH_SOCKなど)を精密に診断してくれる心強い助っ人です。 - 車輪の再発明をしない安全性:
Pythonベースの一部ツールのように既存の設定ファイル全体をパースして構造を壊すことはありません。 単純なテキストマッチングでInclude構文を見落とすfzfスクリプトとは異なり、ssh -Gのメカニズムを尊重し、システムと完全に共存します。
すばやいインストールと開始
macOS / Linux (Homebrew):
brew install hang-in/tap/sshc
sshc
Windows (PowerShell):
irm [https://github.com/hang-in/sshc/…](https://github.com/hang-in/sshc/releases/latest/download/sshc-installer.ps1) | iex
ターミナルを離れたくないエンジニアの効率的なワークフローのために作られました。 もう「そのサーバーのalias名、何だったっけ?」と cat ~/.ssh/config を打つ手間を手放しましょう。
オープンソースプロジェクトですので、Issue報告やPull Requestはいつでも大歓迎です。 (24時間以内の返信を目標にしています!)気に入っていただけたら、GitHubに⭐️Starをひとつお願いします。ありがとうございます!
まだコメントはありません。