プロキシ環境下でのVisual Studio Code Remote SSH の導入
プロキシ環境下で改めて Visual Studio Code の Remote SSH を使おうと思ったらドハマリしたのでメモ。
はじめに
以前はそんなことなかったと思うんですが、VSCodeの便利な拡張機能「Remote SSH」を使用しようとしたらリモート側のサーバー .vscode-server
のダウンロードが以下のエラーとともに失敗するようになりました。
Resolver error: Error: Server returned 404
今まではできたが・・・
私の認識では今までは、
~/.bashrc
にhttp_proxy
https_proxy
環境変数をセットするように記載する~/.wgetrc
にプロキシ設定を記載する
のどちらかでダウンロードできない問題を回避できた記憶があるんですが、もしかしてできなくなりましたかね??
ssh -T が曲者っぽい??
ログ見ると、環境変数にそもそもプロキシ設定が入っていないようでした。
さらによく見ると ssh -T -D $PORT $HOST bash
となっていて、non-interactiveなシェル でログインしてるっぽいです。 で、non-interactiveなせいかは不明ですが、手動で -T オプションをつけて接続してみると同様に環境変数にプロキシ設定が入っていません。
個人的にはここらへんが怪しいのかなと思いましたが、ただ、それだと ~/.wgetrc も効かないのはなぜ?という感じで、原因究明は無理そうだなと思い力技で解決しました。
対処方法(正しいかは不明)
/etc/environment
に以下を書き込みました。
http_proxy=http://user:pass@host:port/ https_proxy=http://user:pass@host:port/
そしていったん前回までの試行で発生したごみを削除。
rm -r ~/.vscode-server
再度 Remote SSH による接続を試します。
終わりに
これにてとりあえずは解決としてしまったのですが、なんとも気持ち悪い感じになってしまったなと思います。
というのも、 /etc/environment
にユーザーIDパスワード含む文字列が入ることになるためです。これだと複数ユーザーが使用するサーバーでは使用できなくなりますし考え物だなと思いました。
そもそも ssh の 「-T オプション」で接続したときにユーザー固有の環境変数を設定する方法が分かれば苦労しないのですが…
あんまり苦労しない方法でこれを解決できる方法をご存知の方がいらっしゃったら教えてください。