mcpField
S
ssh-remote

ssh-remote

github.com/oakossクラウド・DevOps20171 回インストール10 週間前に更新
リポジトリ

ssh-remote について

ssh-remoteは、SSHによるリモートシステム管理とファイル転送のためのリファレンススキルです。接続、トンネル、鍵管理、セキュリティ設定の手引きを開発者や運用担当者向けにまとめています。

主な機能

  1. 01SSH接続と設定パターン
  2. 02rsync、scp、sftpによる転送ガイド
  3. 03ローカル、リモート、SOCKSトンネル
  4. 04踏み台ホストと接続の再利用
  5. 05鍵管理とセキュリティ強化チェックリスト

活用シーン

  1. 01リモートサーバーへの接続と管理
  2. 02ファイル転送やディレクトリ同期
  3. 03SSHトンネル経由のポート転送
  4. 04安全なSSH鍵とホスト設定の検討

インストール

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

$npx skills add https://github.com/oakoss/agent-skills --skill ssh-remote

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

同梱ファイル

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

references/
connections.md
file-transfer.md
key-management.md
tunneling.md

詳細

SSH リモートアクセス

概要

SSH(Secure Shell)は、信頼できないネットワーク上で暗号化されたリモートアクセス、ファイル転送、トンネリングを提供します。OpenSSH は Linux、macOS、Windows(組み込みクライアント経由)における標準的な実装です。クライアント設定は ~/.ssh/config にあり、ホストごとの設定、ID 管理、接続の再利用に対応しています。

使用する場面: リモートサーバーの管理、安全なファイル転送、ポートフォワーディング、踏み台ホスト経由の接続、自動デプロイ、SOCKS プロキシ。

使用しない場面: WAN 経由の大容量データ転送(Globus などを使用)、GUI 中心のリモートデスクトップ(VNC/RDP を使用)、コンテナオーケストレーション(kubectl/docker CLI を使用)。

クイックリファレンス

パターンコマンド/ディレクティブ主なポイント
基本の接続ssh user@hostデフォルト以外のポートには -p PORT を追加
ID ファイルssh -i ~/.ssh/key user@host秘密鍵を明示的に指定
リモートコマンドssh user@host "command"対話型コマンドには -t を追加
SSH 設定のエイリアス~/.ssh/config 内の Host myserver ブロック繰り返しの接続を簡略化
ファイルコピー(rsync)rsync -avzP src user@host:destすべての転送で scp より推奨
ファイルコピー(scp)scp file user@host:pathレガシープロトコル。内部では SFTP を使用
ローカルトンネルssh -L local:remote_host:remote_portリモートサービスにローカルからアクセス
リモートトンネルssh -R remote:localhost:local_portローカルサービスをリモートに公開
SOCKS プロキシssh -D 1080 user@host動的ポートフォワーディング
踏み台ホストssh -J jump user@targetProxyJump。OpenSSH 7.3 以降で利用可能
鍵の生成ssh-keygen -t ed25519新しい鍵にはすべて Ed25519 を推奨
FIDO2 キーssh-keygen -t ed25519-skハードウェアで保護。OpenSSH 8.2 以降が必要
エージェントssh-add ~/.ssh/keyセッション中の鍵のパスフレーズをキャッシュ
多重化設定内の ControlMaster autoセッション間で TCP 接続を再利用
デバッグssh -v user@host最大限の詳細表示には -vvv まで指定可能

鍵の種類に関する推奨事項

アルゴリズム推奨事項備考
Ed25519新しい鍵にはすべてデフォルトで使用256 ビット、高速、安全。OpenSSH 6.5 以降でサポート
Ed25519-SK(FIDO2)ハードウェアキーを使う最も強力な選択肢物理的なセキュリティキーが必要。OpenSSH 8.2 以降
RSA 4096レガシー互換性が必要な場合のみリモートシステムが Ed25519 に対応していない場合に限り使用
ECDSA避ける実装上の懸念があるため、Ed25519 を推奨

ファイル転送の選択ガイド

シナリオツール理由
定期的な同期や大規模なディレクトリrsync -avzP差分同期、圧縮、再開、進捗表示
単発の簡単なファイルコピーscp または rsyncscp はより簡単。rsync はより高機能
対話的なファイル閲覧sftpタブ補完、ディレクトリ移動
高帯域幅の WAN 転送専用ツール(Globus)SSH のバッファー制限により WAN のスループットが低下

よくある間違い

間違い正しいパターン
新しい環境でRSAキーを使用するEd25519キーを生成します。より高速で小さく、同等の安全性があります
大容量または定期的な転送に scp を使用する圧縮、進捗表示、再開可能な差分同期に rsync -avzP を使用します
セッション中にパスフレーズを繰り返し入力するssh-agent と ssh-add を使用して、セッション中はキーをキャッシュします
SSHをネストして複数のホップを経由する-J(ProxyJump)を使用して、踏み台/ジャンプホストをすっきり経由します
-t フラグなしで対話型コマンドを実行するssh -t user@host "htop" を使用して疑似端末を割り当てます
信頼できないホスト経由で ForwardAgent yes を使用する代わりにProxyJumpを使用します。エージェント転送を有効にすると、侵害されたホストにキーがさらされます
%h、%p、%r を指定せずに ControlPath を設定するすべての接続でソケットが一意になるよう、3つのトークンをすべて含めます
ホストキーのチェックを全体的に無効にするStrictHostKeyChecking no は、信頼できる一時的な環境でのみ使用します
IdentitiesOnly yes を使用しない読み込まれたすべてのキーがすべてのサーバーに提示されるのを防ぎます

セキュリティチェックリスト

  • 強力なパスフレーズを設定してEd25519キーを生成します
  • サーバーで PasswordAuthentication no を設定します
  • PermitRootLogin prohibit-password または no を設定します
  • クライアント設定で IdentitiesOnly yes を使用します
  • authorized_keys で command= と from= を使ってキーを制限します
  • 高いセキュリティが求められる環境では、FIDO2ハードウェアキー(ed25519-sk)を使用します
  • ブルートフォース攻撃をブロックするため、サーバーに fail2ban をインストールします
  • サーバー群の管理にはSSH証明書認証を検討します

委任

  • サーバーインベントリの検出と接続テスト:Explore エージェントを使用します
  • 複数ホストへのデプロイまたは一括ファイル転送:Task エージェントを使用します
  • ネットワークアーキテクチャと踏み台ホストの計画:Plan エージェントを使用します

参考資料

コメント