ssh-utils について
ssh-utilsは、SSH経由でリモートサーバー上のターミナルコマンドを実行するMCPサーバーです。Roo CodeなどのMCP対応クライアント向けで、設定済みのSSHプロファイルを使い、鍵認証のみをサポートします。
主な機能
- 01SSH経由でリモートコマンドを実行
- 02JSON設定から接続プロファイルを読み込み
- 03プロファイル選択または接続情報の上書き
- 04秘密鍵による認証のみを使用
活用シーン
- 01設定済みのリモートホストでコマンドを実行する
- 02複数のSSHサーバープロファイルから選ぶ
- 03コマンドごとにホストやユーザーを上書きする
- 04パスワード認証を使わずSSH接続する
MCP 対応
MCPクライアントにexecute_ssh_commandツールを公開します。設定ファイルまたはツール引数のSSH情報でリモートサーバーに接続し、パスワード認証は禁止されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ssh-utils
目的
ssh-utils は、SSH 経由でリモートサーバー上のターミナルコマンドを実行できる Model Context Protocol(MCP)サーバーです。Roo Code または MCP 対応クライアント内でツールとして使用することを想定しており、開発環境からキー認証で安全に SSH コマンドを実行できます。
仕組み
- MCP プロトコル経由で
execute_ssh_commandというツールを公開します。 - 呼び出されると、SSH を使用してリモートサーバーに接続し、指定されたコマンドを実行します。
- 認証情報と接続の詳細は、次の場所に配置できる設定ファイル(
ssh-utils-servers.json)から読み込まれます。- 現在の作業ディレクトリ
- ワークスペースのルート
- グローバル設定ディレクトリ:
~/.config/ssh-utils/ssh-utils-servers.json
- 設定に複数のプロファイルがある場合、デフォルトでは最初のプロファイルが使用されます。または、プロファイル名を指定できます。
- ユーザー、ホスト、サーバーなどのツール引数は、設定ファイルの値を上書きします。
設定ファイル
設定ファイルは ssh-utils-servers.json という名前の JSON ファイルで、構造は次のとおりです。
{
"profiles": {
"default": {
"host": "example.com",
"user": "bob",
"port": 22,
"privateKeyPath": "/home/bob/.ssh/id_ed25519"
},
"work": {
"server": "workhost",
"user": "alice"
}
}
}
hostまたはserver:SSH ホスト名または IP アドレスです。user:SSH ユーザー名です。port:(任意)SSH ポートです(デフォルト:22)。privateKeyPath:(任意)秘密鍵ファイルへのパスです。
使い方
ssh-utils-servers.json設定ファイルを、対応している場所のいずれかに配置します。- Roo Code または別の MCP クライアントから
execute_ssh_commandツールを使用し、コマンドを指定します。必要に応じて、接続パラメーターを上書きできます。
セキュリティ
- セキュリティ上の理由から、パスワードを使用した SSH 認証は禁止されています。キー認証のみをサポートしています。
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。