mcpField
S
ssh-remote-connection

ssh-remote-connection

github.com/artwist-polyakovクラウド・DevOps221344 回インストール6 日前に更新
リポジトリ

ssh-remote-connection について

ssh-remote-connectionは、SSHでリモートサーバーに接続するスキルです。対話型シェルとコマンドの直接実行に対応し、鍵またはパスワードで認証できます。

主な機能

  1. 01対話型SSHシェル
  2. 02リモートサーバーでのコマンド実行
  3. 03鍵・パスワード認証

活用シーン

  1. 01リモートでサービスログを確認
  2. 02サーバー上のサービスを再起動・再構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/artwist-polyakov/polyakov-claude-skills --skill ssh-remote-connection

インストール後、Claude Code で/ssh-remote-connectionを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
config/
.env.example
scripts/
connect.sh

詳細

SSH リモート接続

SSH 経由でリモートサーバーに接続するための汎用スキルです。

使用方法

# Interactive shell
scripts/connect.sh

# Run command directly
scripts/connect.sh "docker compose logs backend --tail 50"

セットアップ

Claude Code(ローカル)の場合
  1. 設定テンプレートをコピーします:

    cp config/.env.example config/.env
    
  2. config/.env に実際の値を入力します

    キー認証の場合:

    SSH_HOST=your-server.example.com
    SSH_USER=ubuntu
    SSH_AUTH_METHOD=key
    SSH_KEY_PATH=/absolute/path/to/private/key
    SSH_KEY_PASSWORD=
    SERVER_PROJECT_PATH=/path/to/project
    

    パスワード認証の場合:

    SSH_HOST=your-server.example.com
    SSH_USER=ubuntu
    SSH_AUTH_METHOD=password
    SSH_PASSWORD='your account password'
    SERVER_PROJECT_PATH=/path/to/project
    
  3. スクリプトを実行可能にします:

    chmod +x scripts/connect.sh
    
クラウドランタイムの場合

クラウド設定で環境変数を設定します:

  • SSH_HOST — サーバーのホスト名または IP
  • SSH_USER — SSH ユーザー名
  • SSH_PORT — SSH ポート(任意)
  • SSH_AUTH_METHOD — auto、key、または password(任意、デフォルトは auto)
  • SSH_KEY_PATH — キー認証用の秘密鍵のパス
  • SSH_KEY_PASSWORD — キーのパスフレーズ(任意)
  • SSH_PASSWORD — パスワード認証用の SSH アカウントのパスワード
  • SERVER_PROJECT_PATH — サーバー上のプロジェクトディレクトリ

パスワード認証の場合、ローカルランタイムに sshpass または expect のいずれかが必要です。 ホストキーがまだ信頼されていない場合は、非対話型コマンドを実行する前に、一度手動で接続するか、ホストを known_hosts に追加してください。

重要な注意事項

  • Git 操作:サーバー上で git pull を実行しないでください。Git の同期はユーザーが手動で行います。
  • コードの場所:コードはプライベートリポジトリにあります。変更を先にプッシュしてから、ユーザーがプルする必要があります。
  • Docker:サーバーでは docker-compose ではなく docker compose を使用してください。

コマンド例

# View logs
scripts/connect.sh "docker compose logs backend --tail 100"

# Restart service
scripts/connect.sh "docker compose restart backend"

# Rebuild and restart
scripts/connect.sh "docker compose build backend && docker compose up -d backend"

# Check status
scripts/connect.sh "docker compose ps"

コメント