PyCharm 2025.3 ヘルプ

セキュリティモデル

作業にリモートサーバーへのアクセスが含まれる場合、ローカルマシンとバックエンド間の接続が保護され、やり取りされるデータが十分に暗号化されていることを確認する必要があります。

リモート開発セキュリティモデルを使用すると、作業のほぼすべてのセキュリティ面を制御できます。

サーバー側とクライアント側の両方で実行される IDE コンポーネントがあります。バックエンドによってロードされた情報は、それ以上のユーザー操作なしでクライアントに転送できます。また、クライアントに提供されたすべての情報は、ユーザー操作なしでサーバー側プロセスに転送できます。

接続セキュリティ

JetBrains Client と IDE バックエンド間の通信は、安全な SSH トンネルで実行される場合でも、1.3 TLS でエンドツーエンド暗号化されます。JetBrains は TLS 1.3 を使用し、それに加えて SSH セキュリティ接続が使用されます。

リモート開発ではルート証明書からの信頼階層がないため、中間者攻撃がないことを確認するために追加の手動チェックが実行されます。

通常の接続リンクは次のようになります。

tcp://0.0.0.0:5990#jt=71b0a870-e082-4e6b-aaf6-757398801cd2&p=IU&fp=17DC5CAB759FD8BB4298AF1116EA7D5E1F1D3C4D520CFC99748DBD0A88840B36&cb=223.2951&jb=17.0.4b535.2
  • 接続時に、クライアントはホスト証明書のフィンガープリントが正確に fp であることを確認します。ホストが正しいことをクライアントに対して検証します (サードパーティーにハイジャックされていない)

  • 接続時に、ホストは、クライアントがワンタイム接続トークン jt を提供することを確認します。このトークンを知らないこのポートの接続を拒否します。

この接続を介して認証情報を転送したり、パブリックスペースを介してこの接続データを渡したりすることは安全です。Code With Me も同様です。

ログと統計の収集

JetBrains は、ユーザーの権限に基づいて統計とログを収集します。デフォルトでは、データ共有はすべてのリリースバージョンで無効になっており、PyCharm のプレビューおよび早期アクセスプログラム (EAP) バージョンでは有効になっています。

データ共有を構成する

JetBrains が PyCharm の操作時に使用する機能とアクションに関する匿名の統計を収集できるようにするには、使用統計情報を送信するチェックボックスを選択します。

Data Sharing dialog

JetBrains が PyCharm を操作するときに使用する機能とアクションに関する統計を収集できるようにするには、EAP バージョンの使用時に使用統計を送信するチェックボックスを選択します。

Data Sharing dialog in the EAP version

このデータの収集と使用に関する詳細については、データ共有設定を参照してください。

ログの収集

JetBrains がログを収集して送信するように要求すると、ログに機密データが含まれている可能性があることも警告されます。

  1. メインメニューで、ヘルプ | ログと診断データを収集に移動します。

  2. データを JetBrains に送信することに同意する場合は、表示されるダイアログで Finder に表示をクリックします。

    the Sensitive Data dialog

JetBrains プライバシーポリシーの詳細については、JetBrainsWeb サイト(英語)を参照してください。

任意のリンクを開く

IDE では、さまざまな機能を使用するためにブラウザーを開くことが必要になる場合があります。サーバー側にはブラウザーがないことに注意してください。この場合、リクエストは JetBrains Client にリダイレクトされます。

クライアントマシンで任意のリンクを開く前に、JetBrains は確認ダイアログを表示します。

Confirmation dialog

コピーアンドペーストアクション

コピーペーストアクションは、実際の貼り付けの前にのみクリップボードのコンテンツを送信し、実際のコピー中にのみバックエンドがクリップボードを変更できるようにします。

SSH 転送設定

SSH 転送設定では、SSH キー転送を使用して、リモートサーバーから Git リポジトリへのアクセスを認証できます。または、SSH-agent ヘルパーを使用して同じ結果を得ることができます。

SSH 転送設定にアクセスする

  1. Ctrl+Alt+S を押して設定を開き、ツール | SSH 転送を選択します。

  2. 右側のオプションから SSH エージェントの転送を有効化を選択し、OK をクリックして変更を保存します。

    SSH Agent Forwarding

ポート転送

リモートサーバーのポートにアクセスするには、ローカルマシンに転送します。デバッグの目的やファイアウォールのバイパスに役立つ場合があります。

実行ツールウィンドウを介してリモートポートを転送する

  1. リモートセッションを開始し、プロジェクトを開きます。

  2. アプリケーションの実行。

    実行ツールウィンドウで、アプリケーションはリスニングポートを表示します。

  3. 転送するポートをクリックし、オプションのリストからポートの転送を選択します。

    Forward port

    転送後にブラウザーを開きたい場合は、ポートを転送してブラウザーで開くを選択してください。

    その結果、リモートポートはローカルマシンに転送されます。

  4. 作成したポートをクリックして、ブラウザーで結果を確認します。

    転送されたポートはバックエンドコントロールセンターにも追加されます。

    Backend control center

CLI 経由でフロントエンドのブラウザーでリンクを開く

リモートマシンからポートを転送することで、フロントエンドのブラウザーでリンクを開くことができます。これは、バックエンドで Web サービスを実行している場合や、リモートで実行されるスクリプトにリンクがハードコードされている場合に役立ちます。

  1. リモートプロジェクトを開きます。

  2. リモートターミナル Alt+F12 を開きます。

  3. ポートを転送するには、次のいずれかのコマンドを使用します。

    • idea openUrlOnClient http://localhost:$port

    • remote-dev-server serverMode openUrlOnClient https://localhost:$port

バックエンドコントロールセンターを介してポート転送を管理する

バックエンドコントロールセンターを通じてポートを追加、削除、編集できます。

ポートを追加する

  1. リモートプロジェクトを開きます。

  2. メインツールバーでバックエンドの名前をクリックして、バックエンドコントロールセンターウィンドウを開きます。

  3. 開いたウィンドウのポートタブで、Add new をクリックして新しいポートを追加します。

    Remove port を使用してポートを削除できます。これは、プロジェクトの再起動時に forwardedPorts.xml ファイルからも削除されます。

  4. 提案されたフィールドにポート番号を入力し、「適用」をクリックして変更を保存します。

    Adding the new port
  5. 追加されたポートは forwardedPorts.xml ファイルに保存されます。

    プロジェクトを再起動して、forwardedPorts.xml ファイル内に追加されたポートを確認します。

    Forwared ports

ポートを削除する

  1. リモートプロジェクトを開きます。

  2. メインツールバーでバックエンドの名前をクリックして、バックエンドコントロールセンターウィンドウを開きます。

  3. 開いたウィンドウのポートタブで、削除するポートを選択し、Remove port をクリックします。

    プロジェクトの再起動時に、ポートは forwardedPorts.xml ファイルからも削除されます。

ポートを変更する

  1. 開いたウィンドウのポートタブで、Add new をクリックして新しいポートを追加します。

  2. 提案されたフィールドにポート番号を入力し、「適用」をクリックして変更を保存する前に、ポートアドレスフィールドをクリックしてポート番号を変更します。

    Change port

次の点に注意してください。

  • ポートの転送を停止し、そのポートが他の開いているプロジェクトで使用されていない場合、そのポートは forwardedPorts.xml ファイルから削除されます。

  • アプリケーションを閉じると、ポート転送が停止します。プロジェクトを再度開くと、ポートが forwardedPorts.xml ファイル (プロジェクトごと) からロードされ、転送され、必要な場所に表示されます。

ポート転送を無効にする

セキュリティ上の理由から、特定のユーザーまたはシステム全体のポートフォワーディング設定を無効にすることができます。

変更はホスト IDE 側で行う必要があります。

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

/Users/UserName/Library/Application Support/JetBrains/portForwarding/enabled

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/Library/Application Support/JetBrains/portForwarding/enabled

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

$HOME/.config/JetBrains/portForwarding/enabled

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/etc/xdg/JetBrains/portForwarding/enabled

ユーザー固有の設定には、次のレジストリキーを使用します。

HKEY_CURRENT_USER

システム全体の設定には、次のレジストリキーを使用します。

HKEY_LOCAL_MACHINE

SOFTWARE\JetBrains\portForwarding ディレクトリで、この設定の値で有効化されたキーを作成します。

ユーザーまたはシステム全体のポート転送を無効にする

セキュリティ上の理由から、OsRegistryConfigProvider OS レジストリを使用して、特定のユーザーまたはシステム全体に対してポート転送 (porForwarding) を無効にすることができます。レジストリの場所は OS によって異なります。

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

/Users/UserName/Library/Application Support/JetBrains/portForwarding/enabled

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/Library/Application Support/JetBrains/portForwarding/enabled

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

$HOME/.config/JetBrains/portForwarding/enabled

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/etc/xdg/JetBrains/portForwarding/enabled

ユーザー固有の設定には、次のレジストリキーを使用します。

HKEY_CURRENT_USER

システム全体の設定には、次のレジストリキーを使用します。

HKEY_LOCAL_MACHINE

SOFTWARE\JetBrains\portForwarding ディレクトリで、この設定の値で有効化されたキーを作成します。

キーが存在しない場合、設定はデフォルトで true とみなされます。

リバースポート転送

リバースポートフォワーディングを設定すると、リモートマシンからローカルマシンへの接続を開始できます。これは、たとえばモバイルデバイス上でアプリケーションを開発している場合や、ローカルマシン上のデータベースへのアクセスを必要とするリモートアプリケーションを開発している場合などに便利です。リバースポートフォワーディングは永続化されるため、再接続時やプロジェクトを開いた際にポートが自動的に転送されます。

リバースポート転送を使用する場合は、考慮して軽減する必要がある潜在的なセキュリティリスクがいくつかあります。

不正アクセス

リバースポート転送は、完全に信頼できるサーバーまたは個人とのみ使用するようにしてください。

データの露出

機密データを転送するときは、必ず暗号化してください。

マルウェア

マシン上のセキュリティツールが定期的に更新されていることを確認してください。

リバースポート転送を構成する

  1. リモートプロジェクトを開きます。

  2. バックエンドコントロールセンターを開きます。

  3. 開いたウィンドウで、ポートタブをクリックし、Add new をクリックして新しいポートを追加し、リモートのローカルを選択します。

    Reverse port forwarding
  4. ポートのフィールドに必要なポート番号を追加し、適用をクリックします。

    Backend Control Center
  5. 開いたダイアログで、ポート転送を要求しているリモートサーバーを信頼していることを確認し、許可をクリックします。

    Port Forwarding
    Port Forwarding

リバースポート転送を継続する

  1. リモートプロジェクトに接続します。

  2. リモートプロジェクトで、Shift を 2 回押してどこでも検索ウィンドウを開き、レジストリと入力します。

    Search Results

    バックエンドホストとフロントエンド IDE の両方でフラグが有効になっていることを確認してください。

  3. バックエンドであるレジストリ (ホスト上) ツールウィンドウを開き、portForwarding.store.reverse.enabled フラグを確認します。

    Registry (On Host) window
  4. フロントエンド側のレジストリツールウィンドウを開き、rdct.portForwarding.store.reverse.enabled フラグを確認します。

    Registry window

リバースポート転送は永続化されます。リバースポートに関する情報は、forwardedPorts.xml ファイルの reversePorts セクションに保存されます。

JetBrains Client のダウンロード場所を変更する

ダウンロード後に、JetBrains Client のフォルダーとファイルを保存する場所を再定義できます。

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

/Users/UserName/Library/Application Support/JetBrains/JetBrainsClient/downloadDestination

ファイルの内容は path/to/directory です。

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/Library/Application Support/JetBrains/JetBrainsClient/downloadDestination

ファイルの内容は path/to/directory です。

ユーザー固有の設定については、次のディレクトリにテキストファイルを作成します。

$HOME/.config/JetBrains/JetBrainsClient/downloadDestination

ファイルの内容は path/to/directory です。

システム全体の設定については、次のディレクトリにテキストファイルを作成します。

/etc/xdg/JetBrains/JetBrainsClient/downloadDestination with content path/to/directory

ファイルの内容は path/to/directory です。

ユーザー固有の設定には、HKEY_CURRENT_USER レジストリを使用します。

システム全体の設定には、HKEY_LOCAL_MACHINE レジストリを使用します。

SOFTWARE\\JetBrains\\JetBrainsClient で、path/to/directory を含む値でキー downloadDestination を作成します。

2025 年 11 月 18 日

関連ページ:

Code With Me セキュリティの概要

Code With Me は、コードを共同で操作する機能を提供する強力なツールです。その機能には、コードとアクセスレベルを安全に保つ責任が伴います。接続ワークフロー:Code With Me を使用して相互に接続したい 2 人のユーザーがいるとしましょう。ユーザー(ホスト)が Code With Me セッションの開始アクションをクリックして、ローカル IDE でセッションを作成します。ローカル IDE は、セッションの作成に関する通知をロビーサーバーに送信し、セッション接続を要求します。登録後、...

データの共有

機能の使用状況の統計を収集して分析することは、PyCharm の開発に大いに役立ちます。最も多く使用されている機能とテクノロジー、および最も使用されていない機能とテクノロジーに関するインサイトを活用し、パフォーマンスの改善を追跡して、ユーザーが最も必要とする機能を優先します。当社は共有された情報を大切にし、個人情報や機密データが記録されないように慎重に取り扱います。データ共有を構成する:JetBrains が PyCharm の操作時に使用する機能とアクションに関する匿名の統計を収集できるよう...

リモートプロジェクト内での作業

リモートプロジェクトは、ローカルの PyCharm IDE で開かれるのと同じように、JetBrains Client で開かれます。他のローカルプロジェクトと同じように開発できます: コードの編集、アプリケーションの実行、デバッグ、デプロイ。リモート開発プロセスとアーキテクチャ全般について詳しく知りたい場合は、リモート開発の概要を参照してください。開いたプロジェクトに SDK を追加するプロジェクトを最初に開くと、PyCharm はプロジェクト SDK の追加を提案する通知を表示します。リモート...

名前でターゲットを検索する (どこでも検索)

プロジェクト内またはプロジェクト外のアイテムは、その名前で見つけることができます。単一のエントリポイントから、Git 内のファイル、アクション、クラス、シンボル、設定、UI 要素などを検索できます。プロジェクト内のテキストの検索の詳細については、「プロジェクト内で検索して置き換える」を参照してください。どこでも検索メインメニューで、に移動するか、を 2 回押して検索ウィンドウを開きます。デフォルトでは、PyCharm は最近使用したファイルのリストを表示します。もう一度を 2 回押すか、ニー...

ライセンスと便利なリンク

ライセンス:JetBrains Gateway 自体は無料のアプリケーションです。リモート開発を使用するには、リモート IDE のライセンスが必要です。会社のセキュリティ規制に基づいた特定のセットアップシナリオがある場合は、ライセンスの変更を確認し、詳細についてお問い合わせください。リモート開発のライセンスはローカルマシンで処理され、既存のアクティブな IDE ライセンスでカバーされます。ライセンス情報はリモートサーバーに渡されたり、リモートサーバーに保存されたりしません。JetBrains...