SSD Nodes Learn
ガイド Matt Connor著者 Matt Connor ・更新日 2026-07-24

Hermes Agentを月額5ドルのVPSで動かす方法

Hermes AgentはGPU不要で、月額5ドルの軽量VPSでも動作します。セキュリティ確保のため、専用の非特権ユーザーを作成し、systemdのProtectSystem=strict設定とUFWによるIPv6対策を組み合わせた、安全なセルフホスト手順を詳しく解説します。

Hermes Agentとは

Hermes Agentは、Nous Researchが2026年2月にリリースしたセルフホスト型のAIエージェントです。自身のサーバー上で実行でき、プロジェクトの永続的なメモリを保持し、作業中に再利用可能なスキルを自ら書き込みます。TelegramやDiscordなどのチャットアプリを通じて通知を行います。モデルに依存しないため、任意の言語モデルを指定できます。また、DockerやSSH経由、あるいは5ドルのVPS上でも動作する軽量な設計です。

他のエージェントと同様に、その価値はユーザーの代行として動作することにあります。そのため、慎重なセットアップが必要です。記憶し、学習し、タスクを実行するエージェントは、サーバーに対して実質的な権限を持つ常駐プロセスとなります。本ガイドでは、安全なインストール方法を説明します。ここで行う要塞化(hardening)は、OpenClawを安全に実行する際の手順と同様です。

ワンコマンドインストールと、その前に読むべき理由

Hermesは、以下のコマンド1つでインストールできます。

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

これは便利ですが、尊重すべきパターンでもあります。インターネットからシェルへ直接スクリプトをパイプで渡すと、そのスクリプトの内容が実行ユーザーの権限で実行されます。実際のサーバーで実行する前に、まずスクリプトをダウンロードして内容を確認し、rootではなく専用のユーザーとして実行してください。

curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.sh

これはHermes特有の不信感によるものではありません。curl | bashのインストールが、設定における脆弱な箇所にならないようにするための習慣です。

非特権ユーザーを割り当てる

バグや不正な命令がマシン全体に波及しないよう、Hermesはrootではなく、独自のシステムアカウントとして実行してください。ログインシェルを持たないユーザーを作成します。

sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermes

/opt/hermesの下にHermesをインストールし、そのアカウントを所有者にします。公式インストーラーは実行したユーザーに対してインストールを行うため、ダウンロードしたスクリプトはsudo -u hermes bash hermes-install.shのようなhermesユーザーとして実行してください。これにより、ファイルは自身のホームディレクトリではなく、そのユーザーのホームディレクトリに配置されます。理由は非特権ユーザーとしてサービスを実行する場合と同じです。エージェントが実行されるアカウントの権限が、エージェントが破壊できる範囲の限界となります。

ファイアウォールによる保護とシークレットの隔離

Hermesはモデルや接続されたチャットアプリと通信して動作するため、インターネットからのインバウンド接続を受け入れる必要はありません。サーバーの前に、デフォルトで全ての通信を拒否する(default-deny)ファイアウォールを設置してください。

sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enable

ここでIPv6ファイアウォールの隙間に注意してください。IPv4のみをカバーするルールセットでは、IPv6でサービスが露出する可能性があります。モデルのAPIキーやチャットのトークンは、hermesユーザーのみが読み取れるファイル(モード 600)に保存し、シェル履歴に残るコマンドラインへの貼り付けではなく、サービスにロードして使用してください。

systemdサービスとして要塞化したHermesを実行する

systemdユニットを使用すると、ログアウト後や再起動後もHermesを実行し続け、クラッシュした場合は再起動し、カーネルレベルのサンドボックス機能によってアクセス範囲を制限できます。侵害時の被害を抑えるため、NoNewPrivilegesProtectSystem=strictPrivateTmp、およびProtectHomeを有効にしてください。

ここで要塞化したユニットファイルを生成し、/etc/systemd/system/hermes.serviceにコピーします。このユニットは、チャットアプリと接続する長時間実行プロセスであるhermes gatewayを開始します。サービスを有効にする前に、インストール後にhermes --helpを実行して、コマンドとバイナリのパスが自身のバージョンと一致しているか確認してください。

ToolGenerate a hardened systemd unit for the agent

ディレクティブおよびdaemon-reloadenable --nowの手順については、systemdサービスとしてプログラムを実行するを参照してください。

sudo systemctl daemon-reload
sudo systemctl enable --now hermes

サーバー全体の要塞化

最後に、入り口の要塞化を行います。VPSでのSSH要塞化と同様に、SSHを鍵認証のみに設定し、rootログインを無効化して、管理用アカウントが推測されないようにしてください。永続的なメモリを持つエージェントは保護に値します。最も安価な保護策は、エージェントが稼働しているサーバーへのログインを誰もできないようにすることです。

パッケージ化されたエージェントの実行ではなく、仕組みそのものを理解したい場合は、VPS上で独自のAIエージェントを構築するにステップバイステップの手順があります。

FAQ

安価なVPSでHermes Agentを実行できますか?

はい。Hermesは小規模なサーバーでの動作を想定して設計されており、個人用の常時稼働エージェントであれば5ドルのVPSで十分です。重いトラフィックを処理するのではなく、言語モデルやチャットアプリへリクエストを送る仕組みであるため、リソース消費は軽量です。独自のユーザー、ファイアウォール、およびsystemdサービスを設定すれば、小規模なVPSで快適に動作します。

ワンラインのインストールスクリプトは安全ですか?

curl | bashのインストールは便利ですが、安全な習慣は、スクリプトをダウンロードして内容を確認してから実行すること、そしてrootではなく専用のユーザーとして実行することです。そうすれば、どのようなプロジェクトのパイプによるインストーラーであっても、その制限されたアカウントの権限以上のことはできません。これはHermes特有のことではなく、この形式のすべてのインストールにおけるベストプラクティスです。

root権限なしでHermesを実行するにはどうすればよいですか?

ログインシェルを持たない専用のシステムユーザーを作成し、そのユーザーが所有する/opt/hermesなどのディレクトリにHermesをインストールし、そのアカウントでサービスを実行してください。エージェントが侵害されたとしても、被害はそのアカウントの権限範囲内に限定されます。

ログアウト後もHermesを実行し続けるにはどうすればよいですか?

systemdサービスとして実行してください。ユニットファイルが起動時にHermesを開始し、クラッシュ時に再起動し、SSHセッション終了後も実行を維持します。また、systemdのサンドボックスオプションにより、プロセスがアクセスできる範囲を制限できます。上記のツールで要塞化したユニットファイルを生成し、systemctl enable --now hermesで有効化してください。

Hermes AgentにGPUは必要ですか?

いいえ。Hermesはエージェントの実行環境(runtime)であり、言語モデルそのものではないため、CPUのみの小規模なVPSでも問題なく動作します。重い計算は、接続先のホストされたAPIなど、モデルが動作する場所で行われます。もし同じマシン上でモデルもセルフホストしたい場合は、Hermes自体ではなく、モデルに合わせてマシンのスペックを決定してください。CPUのみのモデルホストについては、Ollamaガイドの数値が適用されます。