goto - シンプルでエレガントなターミナルSSHマネージャー
プロジェクト概要
| 属性 | 詳細 |
|---|---|
| プロジェクト | goto |
| 作者 | grafviktor |
| 言語 | Go |
| Stars | 512 |
| License | MIT |
| リンク | https://github.com/grafviktor/goto |
はじめに
goto は開発者向けに設計されたターミナルSSH管理ツールです。複雑な設定や煩雑なコマンドライン引数を排除し、シンプルなTUI(テキストユーザーインターフェース)ですべてのSSH接続を一元管理します。複数のサーバーに頻繁に接続する必要がある開発者にとって、従来の ~/.ssh/config よりも使いやすく効率的なソリューションを提供します。
主な機能
🎯 直感的なサーバー管理
- 設定済みのSSH接続をリスト形式で表示
- グループ分けと検索に対応し、目的のサーバーを素早く特定
- ビジュアルインターフェースで操作が一目瞭然
⚡ クイック接続
- 選択するだけで接続、手動での冗長なコマンド入力不要
- カスタム接続パラメータをサポート(ポート、ユーザー名、秘密鍵など)
- 接続履歴の記録機能内蔵
🔧 高度な機能
- 踏み台サーバー(Bastion/Jump Host)設定をサポート
- カスタムスクリプトの統合、接続後にプリセットコマンドを自動実行
- ローカルポートフォワーディング管理
🖥️ エレガントなターミナル体験
- Bubble Teaフレームワークをベースに構築、スムーズな画面遷移
- マウス操作に対応
- レスポンシブデザインで様々なターミナルサイズに適応
インストール
バイナリダウンロード
プロジェクトのReleasesページにプリコンパイル済みバイナリが提供されています。Linux、macOS、Windowsに対応:
# Linux/macOS
curl -L https://github.com/grafviktor/goto/releases/latest/download/goto-linux-amd64 -o goto
chmod +x goto
sudo mv goto /usr/local/bin/
ソースからビルド
git clone https://github.com/grafviktor/goto.git
cd goto
go build -o goto
パッケージマネージャー
# macOS (Homebrew - 要確認)
brew install goto
使い方ガイド
初回起動
goto コマンドを実行するとインタラクティブ画面が表示されます:
goto
初回使用時に自動的に設定ファイルが作成されます。設定ファイルの場所は ~/.config/goto/config.yaml です。
サーバーの追加
画面で a キーを押すと新規接続を追加できます:
- 名称:わかりやすいエイリアスを設定
- ホスト:サーバーのIPまたはドメイン
- ポート:SSHポート(デフォルト22)
- ユーザー:ログインユーザー名
- 秘密鍵:SSHキーのパス(オプション、デフォルトはSSH agentを使用)
よく使うショートカット
| キー | 機能 |
|---|---|
↑/↓ または k/j | 上下に移動 |
Enter | 選択したサーバーに接続 |
a | 新規接続を追加 |
e | 選択した接続を編集 |
d | 選択した接続を削除 |
q または Ctrl+C | プログラム終了 |
/ | 検索フィルター |
設定ファイルの例
hosts:
- name: production-web
host: 192.168.1.10
port: 22
user: deploy
private_key: ~/.ssh/id_rsa_production
- name: staging-db
host: staging.example.com
port: 2222
user: admin
# SSH agentによる自動認証を使用
使用シーン
マルチサーバー運用
開発、テスト、本番環境の複数サーバーを同時に管理し、大量のIPや設定を記憶する必要をなくします。
チームでの協働
設定ファイルをバージョン管理に組み込み、チームメンバー間で統一された接続設定を共有できます。
クラウドリソース管理
クラウドプロバイダーのElastic IPやタグシステムと連携し、接続マッピングを素早く構築します。
類似ツールとの比較
| ツール | 特徴 | 対象ユーザー |
|---|---|---|
| goto | シンプルなTUI、ゼロコンフィグで使い始め可能 | 日常的なSSHユーザー |
| SSH Config Editor | GUIアプリ、ビジュアル編集 | macOSユーザー |
| Termius | クロスプラットフォーム、クラウド同期 | クラウド同期が必要なユーザー |
| mosh | モバイルネットワーク最適化 | ネットワークが不安定な環境 |
goto の強みは純粋なターミナルネイティブ体験にあります。コマンドライン環境から離れる必要がなく、GUIへの依存もありません。ハードコアな開発者にとって理想的な選択です。
プロジェクトの活発度
- 最近の更新:2026-03-28(活発にメンテナンス中)
- 初回リリース:2023-10-18
- コントリビューター:継続的に増加中
プロジェクトはMITライセンスでオープンソース化されており、コードはシンプルで規範的なため、学習や二次開発にも最適です。
まとめ
ターミナルで ssh -i ~/.ssh/xxx user@host -p 2222 のような長いコマンドを繰り返し入力するのにうんざりしているなら、goto を試してみる価値があります。500KB未満のバイナリサイズで、SSH接続管理の痛みを解決してくれる、洗練された実用ツールです。
効率とシンプルさを追求する開発者にとって、このような小さく美しいツールは、肥大化したオールインワンスイートよりも実用的なことが多いです。