Headless環境でcodexの認証を簡単に行う方法

投稿者: | 2026年1月26日

SSHでLinux環境にアクセスしている場合などで、初回の認証時(下記画面)の認証に困ったことはないでしょうか。

この認証URLをSSH接続しているクライアント側のブラウザで開いて認証を済ませても、最終的にこのような画面に遷移し、認証が完了できません。

なぜならコールバックURLがlocalhostになっており、本来はcodexを実行しているマシンと同じ環境で認証すると、codexと通信を行い認証が完了する仕組みだからです。

これを回避するには、認証画面にも書いてあるとおり

On a remote or headless machine? Press Esc and choose Sign in with Device Code.

この記載通りに、デバイスコード認証を有効にして実行するとか、SSHでポート転送を噛ますとか色々方法は有ると思うのですが、もっと簡単な方法があります。

まず、この画面のURL全文をコピーします。

次に、codexを実行しているSSHセッションとは別に、もう1つSSH接続します。

そうしたら、下記の通りコマンドを実行します。

$ curl -v "コピーしたURL"

ダブルクオーテーションは付けて実行してください。

例:owner@ubuntu:~$ curl -v “http://localhost:1455/auth/callback?code=xxxxx&scope=openid+profile+email+offline_access&state=yyyyy”

これで、下記のようなレスポンスが得られれば認証完了です。

< HTTP/1.1 302 Found
< Server: tiny-http (Rust)
< Date: Mon, 26 Jan 2026 01:52:51 GMT
< Location: http://localhost:1455/success?id_token=eyJhbGciOiJSUzI1N
….

codexを開いていたシェルに戻ると、認証完了画面に遷移していると思います。

もし認証中のままであれば、一度Ctrl+Cでcodexを終了させた後、再度起動すれば認証完了していると思います。

困っていた方はお試しください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。