初回セッション実行シート

アクセス情報から
初回ビルドの成功まで

まずコンソールでデバイスの状態、ノード、ユーザー名、ホストアドレス、指紋を確認し、SSHまたはグラフィカルデスクトップを選択します。「ポートに接続できる」だけで環境が使えるとは考えないでください。本人確認、ディスク確認、最小限のビルドまで完了して、接続が完了します。

このガイドはHopVMの専用クラウドMac向けです。各注文には専用物理マシンが割り当てられ、仮想マシンではありません。アクセス情報は、許可されたプロジェクトメンバーにのみ共有してください。

5項目 接続前の確認
2種類 アクセス経路
1回 最小ビルド検証
シンガポール、東京、ソウル、香港、米国東部、米国西部のノード接続関係を示すネットワーク図
接続前に確認する項目 SESSION / FIRST-RUN
デバイスの状態
コンソールに接続可能と表示されている
ノード
注文記録と一致している
認証情報
ユーザー名、鍵、指紋
ローカル環境
システム時刻とネットワーク出口が正常

アクセスアドレス、ポート、認証情報はコンソールに現在表示されているものを使用し、チャット履歴や古いドキュメントからコピーしないでください。

確認してから接続

初回接続はこの4ステップで

接続は「アドレスを取得してすぐログイン」ではありません。状態、認証、信頼性、環境の4項目を記録しておけば、タイムアウト、権限拒否、ビルド失敗が起きても迅速に原因を特定できます。

  1. 01

    現在の実行シートを確認

    コンソールにログインし、注文ID、実際のノード、デバイス状態、接続方法、ユーザー名、アドレス、ポート、ホスト指紋を確認します。チームの古い記録と異なる場合は、コンソールの最新情報を優先してください。

  2. 02

    ローカルの認証情報を準備

    秘密鍵は現在のユーザーだけが読み取れるディレクトリに保存し、ファイル権限を制限します。完全な鍵をメール、グループチャット、チケットで送信しないでください。グラフィカルクライアントでも独立した接続設定を使用します。

  3. 03

    リモート側の本人性を検証

    初回SSH接続では、指紋を照合してからホスト記録を受け入れます。グラフィカルデスクトップ接続では、デバイス名、ノード、セッション情報を確認し、出所不明のアドレスへの接続を避けてください。

  4. 04

    開発の基準値を作成

    システムに入ったら、時刻、ディスク、現在のユーザー、セッションを確認し、Xcodeバージョンの確認、Git取得、最小ビルドを実行します。コマンド、終了コード、所要時間を記録してください。

コマンドラインの手順

SSH接続:認証情報と指紋を正しく確認する

以下では、ドキュメント用に予約されたアドレスを使ってコマンドを示します。実際のユーザー名、ホストアドレス、ポート、指紋は必ずコンソールから取得し、例の値を実際のセッションに使用しないでください。

SSH確認シート

鍵の権限設定から安全な終了まで

MODE / CLI
A

秘密鍵の権限を制限

秘密鍵は現在のローカルユーザーだけが読み取れるようにします。権限が広すぎると、SSHクライアントは通常そのファイルの使用を拒否します。

chmod 600 ~/.ssh/hopvm_ed25519
ls -l ~/.ssh/hopvm_ed25519
B

初回接続を開始

203.0.113.24 はドキュメント用の例示アドレスです。コンソールにカスタムポートが表示される場合は、 -p パラメータを追加します。

ssh -i ~/.ssh/hopvm_ed25519 \
  -p 22 developer@203.0.113.24
C

ホスト指紋を照合

ターミナルに指紋が表示されたら操作を一旦止め、コンソールの指紋と1文字ずつ照合します。完全に一致した場合のみ yes を入力して記録を受け入れます。

ED25519 key fingerprint is
SHA256:EXAMPLE_ONLY_REPLACE_FROM_PANEL
D

終了してセッションの完了を確認

タスクが完了したら、まずフォアグラウンドのプログラムを停止し、shellから正常にログアウトします。ローカルのターミナルを直接閉じてアプリケーションの終了処理に代えないでください。

jobs
exit

初回確認は形式的なクリックではありません

ホスト指紋はリモート側の本人性を確認するための情報です。指紋が変わったという警告が表示されたら、接続を停止してコンソールの情報を確認してください。警告を回避するためにローカル記録を削除しないでください。

再現可能な記録を残す

接続時刻、タイムゾーン、ローカルネットワーク、実際のノード、コマンドパラメータ、終了コードを記録します。トラブルシューティングでは、「接続できない」とだけ書くより、マスキング済みの記録を提示した方が原因を特定しやすくなります。

グラフィカルセッション

Xcodeやグラフィカルアプリを使う場合は、管理されたデスクトップセッションを使用

グラフィカルデスクトップは、Xcodeプロジェクトの操作、署名設定、シミュレータの確認、メディアアプリに適しています。SSHとは用途が異なりますが、接続前にデバイス、ノード、アクセス情報を確認してください。

接続前

ローカル環境の信頼性を確認

管理された業務用コンピューターと信頼できるネットワークを優先してください。ローカルのシステム時刻を確認し、不要な画面録画、クリップボード同期、ファイル自動共有を無効にします。

  • デバイス名がコンソールの記録と一致している
  • アクセス情報を共有ドキュメントに保存していない
  • ローカルネットワークが必要な接続方式を許可している
セッション中

タスクに必要な機能だけを有効化

デスクトップに入ったら、まず現在のユーザーとシステム時刻を確認し、その後Xcodeまたは対象アプリを開きます。プロジェクト情報のコピーには、チームが承認した転送経路を使用してください。

  • 管理者の認証情報を共有しない
  • 機密トークンをクリップボードに残さない
  • 大容量転送の完了後にファイルの整合性を確認
離れる前

認証情報の保存を無効にして明示的に終了

共有デバイスや一時的なコンピューターでは、パスワードと接続情報の保存を必ず無効にします。終了時はグラフィカルセッションからログアウトし、画面ロックだけで切断したことにしないでください。

  • 一時ダウンロードとクリップボードの内容を消去
  • ビルドと転送のプロセスが終了したことを確認
  • コンソールに戻ってデバイス状態を確認
再現可能な初回タスク

接続、ビルド、納品を1つの実行記録にまとめる

ターミナル記録では、SSH、Xcodeビルド、Fastlaneの出力を順に示します。実際のアドレスや認証情報は含めず、コマンド、成功マーク、終了コードを残すことを重視します。

ノード SG / 初回検証セッション / zsh
local % ssh -i ~/.ssh/hopvm_ed25519 developer@203.0.113.24 ホスト鍵の指紋をコンソール記録と照合して検証しました 公開鍵を使用してドキュメント用ホストの認証に成功しました   hopvm % sw_vers && xcodebuild -version ProductName: macOS Xcode 16.x   hopvm % xcodebuild -scheme SampleApp -configuration Debug build Resolve Package Graph CompileSwift normal arm64 ** BUILD SUCCEEDED ** xcodebuild exit code: 0   hopvm % bundle exec fastlane verify_build Running lane verify_build Artifact manifest written to ./artifacts/manifest.json fastlane finished successfully process exit code: 0   hopvm % exit タスク完了後に接続を終了しました
基準値を記録 ノード、コマンド、所要時間、終了コード、成果物のパス
マスキングして提出 アドレス、鍵、トークン、リポジトリ認証情報、プロジェクトの機密内容を削除
システムに入って最初の1分

安全基準を確認してからプロジェクトを取得

接続に成功しただけでは、セッションが確立したことしか分かりません。コード、モデル、素材を扱う前に、システム時刻、ディスク空き容量、現在のユーザー、鍵の権限、開いているセッションを順に確認してください。

システム時刻

実行 datesystemsetup -gettimezoneを実行し、タイムゾーンと現在時刻がタスク記録と一致することを確認します。時刻のずれは証明書、ログの並び順、依存関係のダウンロードに影響します。

ディスク空き容量

実行 df -hを実行し、システムボリューム、プロジェクトディレクトリ、キャッシュの空き容量を確認します。ビルド前に、ソースコード、依存関係、派生データ、アーカイブ、最終成果物に必要な容量を確保してください。

現在のユーザー

実行 whoamiidを実行し、現在のユーザーがプロジェクトの権限設計に適合することを確認します。手間を省くために管理者の認証情報を共有したり、すべてのタスクを高権限セッションで実行したりしないでください。

鍵の権限

プロジェクトで使用するSSH鍵、設定ファイル、認証情報ディレクトリの権限を確認します。秘密情報をshell履歴、ビルドスクリプト、リポジトリのコミット、他のメンバーが読める共有ディレクトリに書き込まないでください。

開いているセッション

次を使用 whow およびチームで定めたセッション記録で現在の接続を確認します。不明なセッションを見つけたら機密操作を停止し、マスキング済みの証拠を保存してコンソールからチケットを提出してください。

開発環境の受け入れ確認

最小限のタスクで比較可能な基準値を作成

最初から完全なパイプラインを実行しないでください。まずバージョン、リポジトリ、最小ビルドの3項目を検証し、接続、依存関係、プロジェクトの問題を切り分けます。

  1. 01

    システムとXcodeのバージョンを記録

    次の結果を保存 sw_versuname -mxcodebuild -versionxcode-select -p 。これらは後でビルド差分を比較する際の基本的な環境情報です。

  2. 02

    Gitの読み取り経路をテスト

    まず低リスクのリポジトリで git ls-remoteを実行し、ネットワーク、リポジトリ権限、ホストの信頼性を確認してから浅いクローンを実行します。失敗時は終了コードを残し、元の問題を隠すために認証情報を何度も変更しないでください。

  3. 03

    最小ビルドターゲットを実行

    依存関係が少なく実行時間の短いschemeを選び、構成を明示して完全なコマンドを記録します。まずコンパイル経路を検証し、その後テスト、アーカイブ、自動デリバリーを段階的に追加してください。

  4. 04

    基準値の所要時間と終了コードを保存

    開始時刻、終了時刻、依存関係の解決時間、ビルド時間、ディスク使用量のピーク、終了コードを記録します。性能に変動がある場合は、同じタスクで再測定し、異なるプロジェクト同士を比較しないでください。

現象別トラブルシューティング

よくある5種類の接続問題は、まず停止箇所を特定してから設定を変更

一度に変更する条件は1つだけにし、変更前後の結果を残します。サポートへの連絡が必要な場合は、注文ID、実際のノード、問題の発生時刻とタイムゾーン、再現手順、期待結果、マスキング済みの出力を添付してください。

接続がタイムアウトする場合、どこから確認しますか?
  1. まずコンソールでデバイス状態とアクセス情報に変更がないことを確認します。
  2. ローカルのシステム時刻、ネットワーク出口、対象アドレス、ポートを確認し、古いスクリーンショットの情報は使用しないでください。
  3. 信頼できるネットワークに切り替えて再テストし、ローカルネットワークの種類と問題発生時刻を記録します。
  4. 詳細出力付きのSSHコマンドで、接続がどの段階で停止しているか確認します:ssh -vvv
  5. チケットにはマスキング済みの出力を添付し、秘密鍵や完全な接続設定は提出しないでください。
ホスト指紋が変わった場合、古い記録をすぐ削除してよいですか?

先に記録を削除して続行してはいけません。直ちに接続を停止し、コンソールの最新の指紋、ノード、注文IDを確認します。変更に明確な根拠がある場合のみ、該当するホスト項目だけを削除してください。確認できない場合は、コンソールからチケットを提出し、古い指紋、新しい指紋、初回確認時刻を添付します。

Permission deniedが表示された場合、どの点を確認しますか?
  1. ユーザー名がコンソールの情報と一致することを確認し、ローカルのユーザー名をリモートのユーザー名と取り違えないでください。
  2. 秘密鍵のパスと権限を確認し、SSHが想定した鍵を実際に読み込んでいることを確認します。
  3. 次を使用 ssh -v でクライアントがどの鍵を提示しているか確認します。コマンド内に秘密情報を出力しないでください。
  4. コピーした公開鍵が途中で切れていないこと、余分な改行が追加されていないことを確認します。
  5. 出所不明の認証情報を連続して試さず、初回の失敗出力を保存してからチケットを提出してください。
グラフィカルセッションが切断されたが、SSHは接続できる場合、どう判断しますか?

まずSSHでシステム時刻、ディスク空き容量、現在のユーザー、関連プロセスを確認し、デバイス自体が応答していることを確認します。次にローカルのグラフィカルクライアントのバージョン、ネットワーク変更、自動再接続、認証情報の保存設定を確認してください。不明なプロセスを強制終了して試行錯誤しないでください。サポートが必要な場合は、切断時刻、クライアントの種類、SSH接続の可否、マスキング済みログを提示します。

会社や学校のネットワークで接続が制限される場合、どのように範囲を絞り込みますか?
  1. 制限がアドレス解決、ポート接続、認証のどの段階で発生しているか確認します。
  2. 組織のセキュリティルールに従い、別の信頼できるネットワークで再テストします。
  3. ネットワーク管理者には対象ポートと利用目的を伝え、秘密鍵やログイン認証情報は送信しないでください。
  4. 制限されたネットワークと利用可能なネットワークの違いを記録し、ローカルネットワークの問題をノード障害と誤認しないようにします。

接続を完了できない場合は?

コンソールのチケットでは、実際の注文とデバイスを関連付けられます。提出前に、注文ID、ノード、時刻とタイムゾーン、再現手順、直近の正常時刻、マスキング済みエラー出力を準備してください。

終了と引き継ぎ

タスク完了はウィンドウを閉じることではありません

セッションを終了する前に、タスクを停止し、成果物を確認し、一時的な認証情報を削除して引き継ぎ記録を更新します。次のメンバーに渡すのは管理されたアクセス権であり、前のメンバーの認証情報のコピーではありません。

  1. 01

    バックグラウンドタスクを停止

    shell jobs、ビルドプロセス、アップロードタスク、グラフィカルアプリを確認します。タスクが正常に終了してからセッションを終了し、リソースを占有したり未完了のプロセスを書き込んだりしないようにします。

  2. 02

    必要な成果物を保存

    アーカイブ、ログ、チェックサム、成果物一覧を確認し、チームが承認した場所へ転送します。唯一のコピーを一時ディレクトリや現在のセッションだけに残さないでください。

  3. 03

    一時的な認証情報を削除

    一時鍵、短期トークン、クリップボードの内容、ローカルのダウンロードファイルを削除し、shell履歴やプロジェクト設定に秘密情報が残っていないことを確認します。

  4. 04

    管理された引き継ぎを完了

    ノード、現在のタスク状態、最後に成功したコマンド、成果物の場所、保留事項を記録します。次のメンバーには個別の権限を設定し、管理者の認証情報を共有しないでください。

最後にコンソールへ戻ってデバイス状態を確認

セッションが終了し、注文とノードの記録が正しいことを確認します。不審なアクセスや状態の不一致を見つけた場合は、直ちに関連する権限を取り消し、コンソールからチケットを提出してください。

プロジェクト用Macを準備

日単位、週単位、月単位、四半期単位で専用クラウドMacをレンタル

3種類のApple Silicon構成で、ビルド、日常開発、大容量メモリを使う推論に対応。6つのノードが365日、年間を通じて稼働します。注文はすべてUSD建てで、支払い方法はUSDT-TRC20とVisa / Mastercard / Amex(Stripe経由)のみです。