Codex CLI経由でVPSにログインする際、ブラウザのコールバックが止まるのは、アカウントやパスワードの誤りではなく、リモートサーバーがローカルブラウザからログイン結果を受け取れないためです。まず、ブラウザを持つコンピュータや電話でデバイスコードのログインを実行して認証を完了します。VPS端末は結果のみを待ちます。
まず、現在のログイン状況を確認してください
VPSでの動作:
if codex login status; then echo "Codex 已有有效登录"
else echo "需要重新登录"
fiステータスにログインが表示されている場合は、複数の権限を付与しないでください。この時点で、ワークスペースやパッケージの権限を引き続き確認してください。ステータスが無効であれば、codex logoutを実行して古い認証情報をクリアし、遅延セッションが新しいログインに干渉しないようにしてください。
グラフィカルインターフェースがない場合は、デバイスコードを使ってください
codex login --device-auth端末は認証アドレスとワンタイムコードを提供します。このアドレスを自分のパソコンやスマートフォンで開き、正しいChatGPTアカウントにログインしてコードを入力し、VPSに戻って完了を待ちます。デバイスコードオプションはまず個人アカウントのセキュリティ設定で有効にする必要があります。チームアカウントの場合は、管理者が対応する権限を付与する必要がある場合があります。
デバイスコードのオプションが見えない場合はどうすればいいですか?
まずCodex CLIが更新されているか確認し、その後、アカウントやワークスペースでデバイスコードのログインが許可されているか確認してください。それでも利用できない場合は、標準ブラウザのローカルコールバックをWPSに許可するローカルSSHポートフォワーディングを作成できます。デフォルトではコールバックはlocalhost:1455を使用します。
ブラウザログインに頼らずにタスクを自動化できます
CIやスケジュールされたスクリプトのような無人タスクはAPIキーにより適しています。キーをサーバー環境変数またはキーマネージャに入力し、標準入力でログインします:
printenv OPENAI_API_KEY | codex login --with-api-keyAPIキーはAPIの使用状況に基づいて料金を請求し、ChatGPTワークスペースの権限とは同等ではありません。チャット、ログ、コードリポジトリにキーや~/.codex/auth.jsonを貼り付けないでください。最後に、どのログイン方法が現在使われているかを確認するためにcodex login statusを使ってください。