リモートアクセスガイド

クラウドMacへ安全に接続し、最初の動作確認を完了する

SSHはコマンドライン、自動化、ビルドタスクに、VNCはグラフィカルなデスクトップ操作に使用します。まずノード情報とホスト鍵指紋を確認し、セッションを開始してツールチェーンを検証し、結果を記録します。

コマンドライン
SSHと鍵認証
グラフィカルデスクトップ
VNCと管理されたクリップボード
確認項目
接続、ツールチェーン、タスク、終了
接続前の記録 READY / VERIFY
ノード情報 ホスト名、ポート、ユーザー名 取得済み
認証情報 秘密鍵または一時認証情報 ローカルで保管
信頼性の確認 ホスト鍵指紋を確認 必須
初回検証 ターミナル、デスクトップ、ビルドタスク 結果を記録

チャット履歴や出所不明の情報からホスト鍵指紋をコピーしないでください。現在の注文についてコンソールが返す情報を基準にします。

接続方法を選ぶ

タスクに応じてSSHまたはVNCを選ぶ

どちらも同じ専用物理Macに接続しますが、用途が異なります。自動化にはSSHを優先し、グラフィカルインターフェース、解像度、デスクトップアプリを確認するときはVNCを使用します。

コマンドラインと自動化

SSH:ビルド、スクリプト、runnerの第一選択

Git、Xcodeコマンドラインツール、Fastlane、依存関係のインストール、ログ収集、self-hosted runnerのタスクに適しています。接続前に、ローカルのSSHクライアント、保護された秘密鍵、ノードのホスト名、ポート、ユーザー名、信頼できるホスト鍵指紋を準備してください。

  • 秘密鍵ファイルは現在のユーザーだけが読み取れるようにする
  • ローカルネットワークから注文情報のポートへ接続できる
  • 初回接続前に別の信頼できる経路で指紋を確認する
  • 自動化タスクには専用鍵を使い、用途を制限する
グラフィカルデスクトップ操作

VNC:デスクトップアプリと表示環境の確認

macOSのグラフィカルインターフェースの操作、キーボード配列の確認、解像度の確認、デスクトップセッションが必要なタスクの検証に適しています。接続前に、信頼できるVNCクライアント、ノードアドレス、一時認証情報、明確なクリップボード方針を準備してください。

  • 共有デバイスに接続パスワードを保存しない
  • ワークロードに合わせて適切な解像度を設定する
  • 不要なファイル同期とクリップボード同期を無効にする
  • アイドル時のロックと再接続時の動作を確認する
初回接続の手順

ノード情報から検証記録まで4ステップで完了

ホスト鍵指紋の確認を省略しないでください。接続できたことは経路が到達可能だと示すだけであり、ツールチェーン、ディレクトリ権限、終了手順は個別に確認する必要があります。

  1. 01 ノード情報を取得

    コンソールで現在の注文を開き、ホスト名、接続ポート、ユーザー名、一時認証情報または鍵の説明、システムが返すホスト鍵指紋を記録します。

    確認:すべての情報が同じ注文に属し、ノードと利用期間が一致している
  2. 02 指紋を別途確認

    初回SSH接続で指紋が表示されたら、コンソールの情報と一つずつ照合します。一致しない場合は接続を停止し、警告の無視や記録の削除で回避しないでください。

    確認:アルゴリズムと指紋文字列が完全に一致している
  3. 03 セッションを開始して認証情報を更新

    初回ログイン後、提供手順に従って一時認証情報を変更し、自分の公開鍵を登録して、不要になった一時アクセス情報を削除します。

    確認:新しいセッションが使用でき、古い一時情報が使われていない
  4. 04 検証結果を記録

    システムバージョン、Xcodeバージョン、ディスク容量、作業ディレクトリへの書き込みを確認し、再現可能な小規模ビルドタスクを実行して正常終了させます。

    確認:接続、ツールチェーン、書き込み、タスク、終了の結果がそろっている
ターミナル検証例

再現可能なセッションでSSH、Xcode、Fastlaneを確認

以下のホスト名、ユーザー名、タスク名は例です。実際の接続パラメータはコンソールからのみ取得し、本番の認証情報をスクリプト、ビルドログ、チケットに書き込まないでください。

armcli-session — verification
$ ssh -p 22022 developer@host.example
The authenticity of host cannot be established.
ED25519 key fingerprint is SHA256:<compare-with-console>
Are you sure you want to continue connecting (yes/no)? yes
Last login: current session

developer@cloud-mac % xcodebuild -version
Xcode 16.x
Build version 16X000

developer@cloud-mac % fastlane test
[✓] Preparing build environment
[✓] Resolving project dependencies
[✓] Test task completed

developer@cloud-mac % exit
Connection to host.example closed.
チェックポイント:指紋を確認済み Xcodeを実行できる タスクが正常終了 セッションを終了済み
デスクトップ接続の確認

VNCが使えても、デスクトップ環境が作業に適しているとは限らない

初めてグラフィカルデスクトップに入ったら、表示、入力、データ交換、セッション復元を決められた順番で確認します。各項目は切断して再接続した後も再現できる必要があります。

01

解像度と拡大率

ツールバーとダイアログを完全に表示できる解像度を選びます。デスクトップが鮮明かどうかだけでなく、実際の開発ツールを開き、テキスト、サイドバー、ポップアップが切れていないか確認します。

02

キーボード配列

通常のテキストボックスで、英字、数字、記号、よく使うショートカットを確認します。ローカルとリモートで配列が異なる場合は、コード編集やコマンド入力を始める前に統一してください。

03

クリップボード方針

クリップボード同期はタスクで必要な場合だけ有効にします。秘密鍵、トークン、環境変数全体をコピーしないでください。共有デバイスでは双方向同期を無効にし、履歴を消去します。

04

アイドル時のロック

デバイスから離れたときにデスクトップがロックされることを確認します。チームで端末を共有する場合は、操作終了後に手動でロックし、ネットワーク切断をセッション保護の代わりにしないでください。

05

切断と再接続

一度手動で切断して再接続し、セッション状態が想定どおりか確認します。長時間のビルドタスクには、対話型接続から分離できるタスク管理方式を使用してください。

06

共有デバイスのクリーンアップ

終了後、保存されたホスト記録、キャッシュされた認証情報、一時ダウンロードファイルを削除します。ブラウザ、VNCクライアント、パスワード管理ツールも個別に確認してください。

SSHトンネルの実践

現在のタスクに必要なローカルポートだけを転送

ローカルポート転送を使うと、サービスの待受アドレスを広いネットワークに公開せず、SSHセッション経由でローカルツールからリモートサービスへアクセスできます。ポート、接続先アドレス、利用時間には明確な制限を設けてください。

  • 最小限の公開:リモートサービスは原則としてループバックアドレスで待ち受け、現在のタスクで使う1つのポートだけを転送します。
  • キープアライブを明確に設定:長時間のタスクには適切なキープアライブ間隔と失敗回数を設定し、切断されたセッションが無期限に停止しないようにします。
  • 専用鍵:自動化トンネルには専用鍵を使います。権限と用途を個別に取り消せるようにし、日常の対話用鍵と共有しないでください。
  • タスク後に取り消す:転送終了後にプロセスを停止し、不要になった公開鍵を取り消して、ローカルの待受ポートが閉じていることを確認します。
ローカルポート転送の例 LOCAL ONLY
ssh \
  -L 127.0.0.1:9000:127.0.0.1:9000 \
  -o ServerAliveInterval=30 \
  -o ServerAliveCountMax=3 \
  -p 22022 \
  developer@host.example
ローカル待受
127.0.0.1:9000
リモート接続先
127.0.0.1:9000
終了方法
SSHセッションを正常に終了し、ポートが閉じていることを確認
CI/CD接続

まずrunnerで最小限のテストパイプラインを実行

GitLab CIなどのシステムに接続するときは、本番フロー全体をいきなり移行しないでください。まずrunnerを登録し、固定タグとディレクトリ権限を確認してから、機密データを含まない小規模なテストタスクを実行します。

01

runnerを登録

専用のサービスIDで登録し、runner名、エグゼキューター、作業ディレクトリ、所属プロジェクトを記録します。登録トークンは必要な手順でのみ使用し、リポジトリに書き込まないでください。

結果:runnerがオンライン
02

明確なタグを追加

macOS、arm64、プロジェクト用途など、実際の能力を表すタグを付けます。意味の広いデフォルトタグは避け、関係のないタスクがこのノードに割り当てられないようにします。

結果:タスクを正確に割り当てられる
03

作業ディレクトリを確認

クローン、キャッシュ、ビルド成果物、一時ディレクトリの読み書き権限を確認します。タスク用IDには、作業ディレクトリに必要な範囲を超えるシステム権限を与えないでください。

結果:ディレクトリの読み書きを管理できている
04

最初のタスクを実行

初回は環境情報の出力、依存関係の解決、小規模テストだけを実行します。終了コード、ログの完全性、キャッシュパス、失敗時のクリーンアップ動作を確認してください。

結果:タスクを再現可能に実行できる
runner初回検証記録
確認項目 実行方法 合格条件 失敗時にまず確認
アーキテクチャとシステム uname -m 出力がタスクタグと一致 runnerタグと実行ノード
Xcodeツールチェーン xcodebuild -version バージョンを読み取れ、コマンドの終了コードが0 コマンドパスとタスク環境
作業ディレクトリ テストファイルを作成、読み取り、削除 対象ディレクトリだけ必要に応じて読み書き可能 ディレクトリの所有者と権限
キャッシュの動作 同じテストを2回連続で実行 キャッシュヒットを説明でき、プロジェクト間で混在しない キャッシュキーとクリーンアップ方針
接続障害の対応

DNSからローカルネットワークまで順に範囲を絞る

一度に1つの変数だけを確認します。ホスト名、ポート、鍵、ネットワークを同時に変更しないでください。接続が復旧しても、根本原因を特定できなくなります。

01
DNSとホスト名

コンソールが現在返しているホスト名を使用し、名前解決が安定しているか確認します。古いチケットや過去のスクリプトからアドレスをコピーしないでください。

名前解決結果
02
接続ポート

ポート番号とプロトコルを照合し、ローカルから対象ポートへ到達できるかテストします。社内ネットワークに制限がある場合は、別の信頼できるネットワークで相互に確認してください。

ポート到達性
03
鍵とファイル権限

クライアントが実際に読み込んでいる鍵ファイル、ファイル権限、対応する公開鍵を確認します。詳細ログを有効にする場合は、先に機密情報をマスキングしてから認証順序を確認してください。

認証段階
04
ホスト鍵指紋

指紋が変わった場合は、まず接続を停止してノード情報を再確認します。既知のホスト記録を直接削除してログインを続けないでください。

信頼性の確認
05
セッションの占有

終了していないデスクトップセッション、長時間タスク、ローカルポート転送がないか確認します。まずタスクの状態を確認し、その後にプロセスを終了するか判断してください。

セッション状態
06
ローカルネットワーク

最後にプロキシ、ファイアウォール、VPN、無線ネットワーク品質、出口ポリシーを確認します。信頼できる代替ネットワークで再テストし、ローカル経路の問題かノードの問題かを切り分けてください。

ネットワーク範囲
チケットを送る前に次の情報を準備

ノード識別情報、問題発生時刻、接続方法、完全なコマンド構成、エラー概要、試した手順、機密情報を除いたログ。秘密鍵、トークン、パスワード、完全な指紋、業務データを削除してから送信してください。

利用終了時のチェックリスト

タスク終了前に、アクセス、データ、利用期間をまとめて確認

リモート画面を閉じるだけでは、利用終了は完了しません。セッションを終了し、アクセス情報を取り消し、機密ファイルを消去し、バックアップを確認して、注文の利用期間を確認してください。

  1. 01 すべてのセッションを終了

    SSH、VNC、ローカルポート転送、runnerの対話セッションを終了し、テストプロセスやバックグラウンドの待受ポートが残っていないことを確認します。

  2. 02 不要になった鍵を取り消す

    一時公開鍵、テスト用runner認証情報、一度だけ使うアクセス情報を削除します。残す項目には明確な所有者と今後の用途を設定してください。

  3. 03 キャッシュと機密ファイルを消去

    シェル履歴、一時ディレクトリ、ビルドログ、ダウンロードディレクトリ、クリップボード履歴、作業領域の設定ファイルを確認し、保管を続ける必要のない内容を削除します。

  4. 04 バックアップを読み取れることを確認

    コードと必要な成果物が外部へ移されていることを確認し、別の場所で一度読み取り検証を行います。ノード上に1つだけあるファイルをバックアップとみなさないでください。

  5. 05 利用期間と注文状態を確認

    コンソールで終了日時、更新状態、サービス記録を確認します。継続利用する場合は、まず利用期間を確認してから次のビルドタスクを計画してください。

開始準備

専用物理Macを借りて、このガイドに沿って接続する

3つの構成プランで、コマンドラインビルド、グラフィカルデスクトップ、CI/CD runner、並列タスクに対応します。実際の利用可能状況はコンソールのリアルタイム表示を基準にしてください。

SSHとVNC 専用物理ノード 365日安定稼働