Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

クライアント側 cloudflared で SSH に接続する

最終更新 Markdown で表示Agent セットアップ

エンドユーザーは、ネイティブターミナルで cloudflared を使って認証すれば、Cloudflare One Client なしで SSH サーバーに接続できます。この方法では、サーバーとクライアントの両方に cloudflared をインストールし、Cloudflare 上にアクティブなゾーンが必要です。トラフィックはこの接続経由でプロキシされ、ユーザーは Cloudflare Access の資格情報でサーバーにログインします。

クライアント側の cloudflared は、Cloudflare One Client および Access for Infrastructure と併用できます。サーバーへの接続方法を複数用意できます。各接続方法を設定するとき、同じ Cloudflare Tunnel を再利用できます。

1. サーバーを Cloudflare に接続する

  1. ダッシュボードのセットアップガイド に従って、Cloudflare Tunnel を作成します。

  2. Cloudflare ダッシュボードで Networking > Tunnels を開き、対象のトンネルを選択します。

    Tunnels を開く ↗
  3. Routes タブで Add route を選択し、続いて Published application を選択します。

  4. ドロップダウンからドメインを選び、サブドメインを指定します(例: ssh.example.com)。

  5. ServiceSSH を選び、localhost:22 を入力します。SSH サーバーがトンネルをインストールしたマシンと別の場合は、<server IP>:22 を入力します。

  6. Add route を選択します。

  7. (推奨)サーバーへのアクセスを管理するため、Cloudflare Access に セルフホストアプリケーション を追加します。

2. ユーザーとして接続する

  1. クライアントマシンに cloudflared をインストール します。

  2. SSH 設定ファイルを一度だけ変更します。

    vim ~/.ssh/config
  3. 次の値を入力します。ssh.example.com は作成したホスト名に置き換えます。

    Host ssh.example.com
    ProxyCommand /usr/local/bin/cloudflared access ssh --hostname %h

    cloudflared のパスは、OS とパッケージマネージャーによって異なる場合があります。たとえば macOS で Homebrew を使って cloudflared をインストールした場合は、brew --prefix cloudflared を実行してパスを確認します。

  4. サービスに到達するコマンドを実行して、接続をテストできます。

    ssh <username>@ssh.example.com

    コマンドを実行すると、cloudflared がブラウザーウィンドウを開き、アイデンティティプロバイダーでの認証を求めます。認証後、ターミナルから接続が確立されます。

役に立ちましたか?