3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【メモ】Amazon Linux2 サーバーにVSCodeが接続できなくなった話

Last updated at Posted at 2024-02-14

 2024年の2月に入っていきなり発生したやつです。
 原因も解って一先ず解決したので書き残します。

 Windows11で、これまでVSCodeの拡張機能の「Remote-SSH」を使ってトンネル経由でサーバーに接続できていたのが急に出来なくなった状況です。

目次

1.原因
2.解決方法
3.その時行った原因調査

原因

 VSCodeの新しいバージョン1.86でLinuxに求める最小構成が更新されたため。
 アップデートの通知もなく、気づかないうちに自動更新されていた。

  • 発生の流れ
     VSCodeのv1.86がリリースされる。(1月)
     ↓
     v1.86が求めるLinuxの最小構成だとAmazon Linux2サーバーが対象外になる。
     ↓
     VSCodeの自動更新が裏で動いてv1.86にアップデートされる。(2月)
     ↓
     接続できなくなった。

参考:VSCodeのv1.86のリリースノート
https://code.visualstudio.com/updates/v1_86

このリリースノート内の「Linux minimum requirements update」に色々書いてあります。

解決方法

公式に書いてあることとだいたい同じです。

方法1)サーバーのアップデートをする。
 これがセキュリティ的にも最も良い方法です。
 glibを、2.28 以上に。glibcxx を3.4.25以上に上げると良いらしい。

方法2)VSCodeのバージョンを1.85に落とす。
 VSCodeのバージョンを落とす方法はリリースノートにも案内があって「you can download the VS Code release 1.85.」という文言でリンクが張ってありおます。
 リンク先はv1.85のリリースノートになっていて、その画面からダウンロードが可能です。
 なお、先にVSCodeの自動更新をOFFにしないと、VSCodeの自動更新が走ってすぐv1.86になってしまいます。


●VSCodeの自動更新をOFFにする方法
1.メニューから「ファイル」→「ユーザ設定」→「設定」と移動。
2.設定の検索ボックスにupdate modeと入力する。
3.Update Modeをnoneにする。
4.VSCodeを再起動
5.ヘルプのバージョン情報からバージョンが狙ったものになっている事を確認

その時行った原因調査

  • teratermで接続先のサーバーに普通に接続できる事を確認
    ・接続できたので、回線や接続先のサーバーは原因ではない。
  • windowsのOpenSSHクライアントからも接続先のサーバーに繋がることを確認
    ・VSCodeのssh接続はOpenSSHを使っているため確認する。
    ・windowsのターミナル(cmd)を開いてsshコマンドで確認。
    ・接続できたので、windowsやOpenSSHが原因では無い。
  • 接続先サーバー上のvs-codeのログを確認
    ssh接続自体は出来てるっぽいため、接続先に残されるログを確認。
    /home/{自分のアカウント}/.vscode-server/ のディレクトリに.{ハッシュ値}.logというドット(.)から始まるファイルがあるため、それらのうち更新日時がVSCodeが繋がらなかった時のものになっているものを探す。
    ・みつけたログファイルの中身見る。するとglibglibcxxのバージョンがどうのと読めるエラー文が残されている。
Warning: Missing GLIBCXX >= 3.4.25! from /usr/lib64/libstdc++.so.6.0.24
Warning: Missing GLIBC >= 2.28! from /usr/lib64/libc-2.26.so
Error: Missing required dependencies. Please refer to our FAQ https://aka.ms/vscode-remote/faq/old-linux for additional infomation.

 ・けれど接続先のサーバーは特にgccなど関連するものを更新した話はない。
 ・なので、VSCode側の仕様が変わった可能性が大きい。

  • VSCodeの公式サイトからリリースノートを探し出して読む
    ・VSCodeのバージョン情報を確認してみると通知もなく最新になっていた
    ・最新のバージョンのアップデート内容を確認したことで原因が判明。

 VSCodeに限らず、自動アップデートの更新の通知が無い(あるいは非常に目立たない)ソフトウェアはたまにあるので、急に動きがおかしくなったら使ってるツールの自動アップデートも疑うのもアリかもしれません。
 少なくとも今回は更新されたことに全く気づきませんでした。

 そして今回はAmazon Linux2サーバーが古いというのも原因なので、サーバーのアップデートをこまめにできる運用体制である事が一番良いのだろうなぁと思いつつ、それが難しいなとも思った一件でした。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?