2
4

More than 1 year has passed since last update.

VSCode Remote SSHを用いた環境構築メモ

Posted at

はじめに

サーバー上で快適に作業するために、Vscodeからssh接続し、ファイル操作できる環境を構築したときのメモ。

Remote SSH プラグインのインストール

VSCodeの左上からインストール。

image.png

ssh config に ssh 接続情報を追加

/Users/ユーザ名/.ssh/config に以下の内容を追加する。

Host [ホスト名]
  HostName [接続先]
  Port [ポート]
  IdentityFile [認証キーのパス]
  User [接続ユーザー名]

例えば、

$ ssh -p 30000 user@192.168.1.1 -i ~/.ssh/id_rsa_test

で接続する場合、ホスト名は仮にisuconとして、以下のように設定する。

$ sudo nano ~/.ssh/config
Host isucon
  HostName 192.168.1.1
  Port 30000
  IdentityFile ~/.ssh/id_rsa_test
  User user

configを記載すると、

$ ssh [ホスト名]

で接続できるようになる。

※ 鍵の作成は省略。参考:Windows10標準機能でSSH認証用の公開鍵と秘密鍵を作成する方法

VSCodeでSSH接続

左下のアイコン→SSH Targetから、上記で接続したホスト名を選択する。新しいVSCodeのウィンドウが表示される。
image.png

max_user_watches の変更

このままだと大規模のファイルが見れなくなるので、max_user_watchesを変更する

$ cat /proc/sys/fs/inotify/max_user_watches
8192
$ sudo nano /etc/sysctl.conf
~~~ 追記
# max_user_watches
fs.inotify.max_user_watches=524288
$ sudo sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
fs.inotify.max_user_watches = 524288
$ cat /proc/sys/fs/inotify/max_user_watches
524288

監視できるファイルの最大数が524,288とのこと。
各ファイル ウォッチは 1080 バイトを使用するため、524,288 個のウォッチがすべて消費されると仮定すると、上限は約 540 MiB になるので、メモリ制約のある場合は数を減らしておく。

VSCodeがサーバリソースを食い散らかす対策

複数人でVSCodeのRemote SSHで接続していたサーバーの反応が異常に遅くなることがあった。

【VSCode使用者注意】サーバーリソース食い散らかすマンから解放される唯一の方法

記事によると、VSCodeでSSH接続する際にサーバーに負荷をかけてしまうことがあるらしい。まさにこの現象。

対策として、この記事に倣って、ファイル監視を無効化する。

  1. 画面上部メニュー「ファイル」→「ユーザー設定」→「設定」を選択
  2. 「設定の検索」に Watcher Exclude と入力
  3. 「パターン追加」 から ** を追加する
  4. 設定を反映させるために、VSCodeを再起動

image.png

※ デメリットあり

ただし、トレードオフとして、gitのファイル変更状況がリアルタイムで反映されなくなるので、自身でコミットなどをする際には、手動でファイルの変更を確認することになります。

最後に

間違っていること、問題点、もっといい方法など見つかれば修正します。

2
4
1

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
2
4