ターミナルではログインできているのに、VS Codeを開くともう一度パスワード入力が表示されます。

最短の解決策は、まずWindowsのターミナルでVS Codeと同じユーザー名、ホスト、ポートを使って通常のSSH接続を確認することです。認証後にVS Code Serverのインストールで止まるなら、パスワードを繰り返し入力せず、Remote - SSHのログと通信状態を調べます。

01

この手順が必要な人

Windowsパソコンだけで、VS CodeからリモートMacへ接続してPython、Web制作、iOS開発を学ぶ学生向けです。通常のSSHは使えるのに、VS Codeだけがパスワードや鍵の口頭を何度も求める場合に役立ちます。

一度接続できた後、再接続時にサーバーのインストール画面から進まない場合も対象です。macOSの「リモートログイン」はSSH接続を提供でき、VS CodeのRemote - SSHもSSHが有効なmacOSホストに接続できます。Appleのリモートログイン設定VS Code公式のRemote - SSH説明を基準に確認します。

02

パスワードの再表示は、まず三つに分けます

「パスワードが出た」という同じ見た目でも、原因は同じとは限りません。認証前の入力、鍵の口頭入力、認証後のVS Code Server処理を分けて見ます。

画面に出る状態 まず疑う場所 次にする操作 停止する条件
SSH接続直後にパスワードを要求 ユーザー名、ホスト、ポート 通常のSSHを同じ条件で実行 通常のSSHが成功したらアカウント変更を止める
秘密鍵の口頭を要求 鍵の保管場所、ssh-agent 秘密鍵の指定とagentの状態を確認 正しい鍵が読み込まれたら再生成しない
認証後にサーバー処理が再開 VS Code Server、通信、ログ Remote - SSHの出力を確認 認証成功が確認できたらパスワードを再入力しない

Remote - SSHは、パスワードや代替認証トークンを拡張機能内に保存しないと公式に説明しています。認証とパスワードの扱いを確認すると、再接続時に入力を求められること自体は、直ちにアカウント故障を意味しないと判断できます。

なぜ毎回入力するのか

VS Codeがパスワードを記憶して次回も自動送信する仕組みとは限りません。複数回の接続が作られると、そのたびに認証が始まることがあります。

入力欄の文言を確認します。「Password」と表示される場合はアカウントのパスワード、「Enter passphrase」と表示される場合は秘密鍵を開く口頭です。二要素認証や学校側のログイン装置からの要求なら、SSH鍵だけを変更しても解決しません。

03

第一歩:通常のSSHが通るかをWindowsで確認します

VS Codeの設定を先に増やすと、原因が隠れます。まずWindows Terminal、PowerShell、またはコマンドプロンプトで、接続情報を一つずつ確認します。

ssh -p ポート番号 ユーザー名@ホスト名

ポートを指定していない環境では、案内された接続方法に合わせます。ここで確認するのは、入力したユーザー名が正しいか、ホストへ到達するか、パスワード入力後にMacのシェルが開くかです。

通常のSSHで見える結果 判断 低リスクな対応
Macのシェルが開く 基本認証は成功 VS Codeのログへ進む
ユーザー名やパスワードで拒否 アカウント情報の問題 管理者または環境提供元へ確認
接続がタイムアウト 経路、ポート、電源状態の問題 ホストとポートを再確認
ホスト鍵の変更警告 接続先の識別情報が変化 自己判断で削除せず提供元へ確認

初回接続で表示されるホスト鍵は、門番が「この相手を以前見たか」と確認するための情報です。見覚えのない変更を受け入れるために、ホスト鍵の確認を無効にしないでください。公開ポートを増やしたり、クラス全員で一つのアカウントを共有したりする方法も避けます。

04

普通のSSHは通るのにVS Codeだけ失敗する場合

通常のSSHが成功したら、Macのアカウント設定を何度も変更する段階ではありません。次はVisual Studio Codeで、接続先と認証方法が同じかを確認します。

  1. VS CodeでRemote - SSHを開きます。
  2. 接続先のホスト名を選びます。
  3. 初回接続で選ぶプラットフォームはmacOSにします。
  4. パスワード入力の直後に出るメッセージを記録します。
  5. 「Output」でRemote - SSHのログを開きます。
  6. 接続が認証前で止まるか、認証後のサーバー処理で止まるかを分けます。

設定ファイルを使う場合は、ユーザー名、ホスト名、ポート、秘密鍵の指定が通常SSHと一致しているかを見ます。設定を複数作ると、ターミナルではAの接続先、VS CodeではBの接続先を使っていたという混同が起きます。

05

第二歩:SSH鍵を使うときは順番を崩しません

SSH鍵は、学生証と鍵に似ています。公開鍵は入室先に登録する学生証、秘密鍵は本人が保管する鍵です。秘密鍵をチャット、Gitリポジトリ、授業の共有フォルダーへ置いてはいけません。

Windows OpenSSHの鍵管理では、秘密鍵を端末側で管理し、必要に応じてssh-agentへ読み込ませます。MicrosoftのOpenSSH鍵管理手順に沿って、次の順で確認します。

確認順 見るもの 確認内容 うまくいかない場合
1 本機の秘密鍵 指定したファイルが存在するか 作り直す前に保存場所を確認
2 SSH設定 IdentityFileが対象鍵を指すか VS Codeと端末の設定を比較
3 ssh-agent 鍵が読み込まれているか 学校PCの管理制限を確認
4 リモートMac 対応する公開鍵が登録済みか 環境提供元に再登録を依頼

学校のパソコンでは、ssh-agentの起動やサービス操作が制限されることがあります。その場合、管理を回避するスクリプトを実行せず、許可されたパスワード認証を使うか、学校の管理者へ相談します。

鍵を使った接続では、秘密鍵の口頭を一度求められることがあります。これはMacのログインパスワードではなく、秘密鍵を保護するための口頭です。両者を混同しないことが重要です。

06

第三歩:認証後の「サーバーインストール」は別の問題です

パスワード入力の後に「Installing VS Code Server」などの処理が続く場合、認証そのものは通っている可能性があります。ここで入力を繰り返しても、遠隔側のダウンロード、展開、起動、通信の問題は直りません。

Remote - SSHは接続先でVS Code Serverを管理します。サーバーのインストールや起動に失敗したときは、公式トラブルシューティングのログ確認を優先します。

確認する場所は次の通りです。

  • Remote - SSHのOutputログに、認証成功後のエラーがあるか。
  • リモートMacが必要なファイルを取得できる環境か。
  • ローカル側からの転送に切り替わった後、処理が止まっていないか。
  • 以前のサーバー処理が残り、起動だけ失敗していないか。
  • 拡張機能の読み込み失敗とSSH認証失敗を混同していないか。

出所不明のサーバーインストールファイルや修復スクリプトを入れないでください。サーバーコンポーネントの削除を検討する場合も、ログを保存してから行い、授業のプロジェクトフォルダーを削除対象にしないよう確認します。

07

修復後は「再接続できる」だけで合格にしません

一度だけ接続できても、実際の授業で使えるとは限りません。次の順で再現確認をします。

  • [ ] VS Codeを完全に閉じ、もう一度起動する。
  • [ ] 同じRemote - SSH接続先を選ぶ。
  • [ ] 必要ならパスワードまたは鍵の口頭を入力する。
  • [ ] リモートMac上の作業フォルダーを開く。
  • [ ] VS Code内のターミナルで、現在のユーザーと作業場所を確認する。
  • [ ] 小さなPythonまたはWeb用テストファイルを保存する。
  • [ ] 変更を保存し、再接続後もファイルが残っているか確認する。

継続利用の判断は三つです。通常のSSHが安定し、パスワード入力を許容できるなら、その方法を続けます。許可を得た秘密鍵を安全に管理できるなら、鍵認証へ移行します。どちらも学校PCの制限や環境側の設定で成立しないなら、接続先の管理者または環境提供元へ依頼します。

08

現在の環境を続けるか、別のMac環境へ移るか

学校のパソコンを使い続ける方法は費用を抑えやすい一方、SSHエージェントの利用制限、ソフトウェアのインストール禁止、授業終了後のアカウント停止が障害になります。自宅のWindowsから接続する場合も、学校ネットワークのポート制限や共有アカウントの安全性を確認しなければなりません。

一方、MESHLAUNCHのようなレンタルMac環境を検討する場合は、独立したアカウント、SSHの利用条件、作業フォルダーの保存場所、Windowsからの接続方法を契約前に確認します。まずは日本語のMac環境案内を読み、授業期間だけ使うのか、自分で管理するMacを購入するのかを分けて考えるのが安全です。購入候補と比較したい場合は、Mac miniの注文情報も確認できます。

短期の課題、iOS開発の環境確認、学校PCにソフトを入れられない場合は、レンタルの方が準備を小さくできます。ただし、長期間の重い作業、物理的なiPhone接続、常時ローカル保存が必要な場合は、自分で管理するMacの方が適しています。

今回の切り分けで大切なのは、パスワード入力、SSH鍵、VS Code Serverを同じ問題として扱わないことです。通常のSSHが通った時点で認証確認を終え、次はログと再接続結果を見て、授業に必要な接続方式と保存場所を記録しておきます。