SSHリモートOAuthサインイン
SSHリモートOAuthサインイン — 公式ドキュメントに基づくわかりやすいガイド
SSHリモートOAuthサインインとは
これは、自分の家の鍵を使って友達のガレージのドアを開けるようなものだと考えてください。ただし、鍵はSSH接続、ガレージのドアは入るために許可が必要なプライベートコードリポジトリ、という違いがあります。
ここで何が起きているのか?
hermes profile installを実行すると、Hermes AgentはリモートのGitリポジトリからプロフィール(一連の指示とツール)を取得する必要があります。しかし、多くのGitサーバー(GitHub、GitLab、または会社の内部サーバーなど)では、何かをダウンロードする前に本人確認が求められます。
通常は、ユーザー名とパスワードを入力するか、個人アクセストークンを設定する必要があります。これは面倒です。SSHリモートOAuthサインインを使うと、Hermesは既存のSSHキー(サーバーへの安全な接続にすでに使用しているもの)を使って、その一回限りのダウンロードのために自動的にサインインできます。追加のパスワードも、トークンのコピーも不要です。
実際に使う2つのコマンド
ここが魔法のようなところです。SSH形式のURLまたは標準のHTTPS URLのどちらでもプロフィールをインストールできます。
オプション1: SSH URL(GitHubなど)
hermes profile install git@github.com:you/research-bot.git
git@github.com:はHermesに「GitHubと通信するには私のSSHキーを使ってください」と伝えます。you/research-bot.gitはプロフィールリポジトリへのパスです。
オプション2: HTTPS URL(社内サーバーやGitLab向け)
hermes profile install https://git.example.com/team/research-bot.git
- HermesはHTTPSリンクであることを検出しますが、マシンにSSHがすでに設定されているため、OAuthハンドシェイクに自動的にSSH認証情報を使おうとします。プロンプトも、追加のログイン画面もありません。
仕組み(技術的な難しい話は抜きで)
- コマンドを実行する – HermesがURLを確認し、プロフィールをダウンロードする必要があると認識します。
- HermesがSSHキーを確認する – デフォルトのキー(通常は
~/.ssh/id_rsaまたはid_ed25519)を探します。 - 「サインインリクエスト」を送信する – パスワードを尋ねる代わりに、SSHキーを本人確認の証明としてGitサーバーに使用します。
- サーバーが「OK、あなたはあなたですね」と応答する – サーバーはそのダウンロードのためだけに一時的なアクセスを許可します。
- プロフィールがインストールされる – ファイルが取得され、セッションが終了します。保存されたパスワードも、残るトークンもありません。
初心者にとってこれが素晴らしい理由
- 「トークン期限切れ」の頭痛から解放 – SSHを一度設定すれば、ずっと機能します。
- 覚えるパスワードが一つ減る – HermesにGitパスワードを入力することはありません。
- より安全 – パスワードがHermesに触れることはなく、暗号化されたキーだけが使用されます。
- プライベートリポジトリでも動作 – プロフィールがプライベートリポジトリにある場合、このサインイン方法で問題なくアクセスできます。
試す前の簡単なチェックリスト
- コンピューターにSSHキーがある(
ls ~/.sshで確認できます)。 - そのキーをGitサーバーに追加済みである(GitHub → 設定 → SSHキー)。
- プロフィールリポジトリの正確なURLを知っている。
まだSSHキーをお持ちでない場合は、次のコマンドを実行するだけです:
ssh-keygen -t ed25519 -C "your_email@example.com"
その後、指示に従ってください。これで準備完了です。
最後に
SSHリモートOAuthサインインは、コードダウンロードのためのVIPパスのようなものです。プロフィールをインストールするたびにログインする手間が省けます。SSHキーを一度設定すれば、GitHubスタイルのリンクでも会社のHTTPSリンクでも、hermes profile installコマンドはそのまま機能します。
実用的なヒント: 可能な場合は常にSSH URL(git@...)を使用してください。より速く、より安全で、余分なログイン画面が表示される可能性も低くなります。ただし、HTTPSリンクしかない場合でも心配はいりません。HermesがバックグラウンドでOAuthの処理を代行してくれます。ただ座って、キーに話をさせておきましょう。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › guides/oauth-over-ssh