1
/
5

sshを塞がずにVSCodeで接続させない方法

結論だけ知りたいかたは、設定へ進んでください。

VSCodeはメモリ食い(リモート接続先)

みなさん、開発環境には何をつかっていますか?弊社では開発環境としてVSCodeを使っています。VSCodeを使うとリモートホストに接続してまるでローカルにあるかの如く開発を進められるのですが、VSCodeで接続すると結構メモリを食います。

メモリが少ないホストに接続すると落ちる

弊社において、開発者が開発用に使っているLinux環境には16GB程度のメモリが割り当てられています。そのような環境であればVSCodeで接続しても何の問題もなく動作します。しかし、ステージング環境などの検証環境はメモリが2GBや4GB程度しか割り当てられていないため、VSCodeで接続するとサーバのメモリが枯渇して最悪の場合、丸ごと落ちます。

SSHは許可するがVSCodeは拒否したい

ステージング環境などではVSCodeを使う必要性がなく拒否したいです。sshを塞げばVSCodeからの接続を拒否できますが、sshで接続できいないと各種設定ができません。VSCodeでは接続しないでください!としっかり教育することである程度軽減できますが、教育ではなく仕組みで対処できるならそうしたいです。しかし、私の頭ではその方法がわかりませんでした。

Claude 3 sonnetは神だった

Claude 3 Sonnetに問い合わせたところ、以下のような回答が返ってきました。そして、これの1番の設定を実施することで、一般的なSSHクライアントからの接続を許容しつつ、VSCodeからは接続できない状態を実現できました。

設定内容

/etc/ssh/sshd_config に 以下の2行を追加(もしくは編集)
AllowTcpForwarding no
X11Forwarding no

他のAI等の回答はどうだった?

実はこの調査を行ったのは2024年4月17日のことで、OpenAIの最先端AIであったGPT4-Turboに問い合わせても有益な回答は得られませんでした。また、英語圏も含め結構がんばって検索したのですが、有益な情報は得られませんでした。2024年7月20日現在、GPT-4oを使っても解決につながる応答は得られませんでした。

AIをよりよく生かすために

複数のAIを使う

この記事の内容に関してはGPT系のAIでは有益な回答が得られず、Claudeでは有益な回答が得られました。AIによって得意分野や持っている知識に差異があるので、一番賢いAIだけを使うのではなく、複数のAIに問い合わせることで正解にたどり着ける可能性はあがります。

英語で問い合わせる

GPT-3.5の頃は英語で問い合わせた場合と日本語で問い合わせた場合の回答精度は全く別物でした。GPT-4oやClaude 3.5 Sonnetなど現代の高性能AIであれば問い合わせる言語によって極端に性能の違いは感じなくなってきましたが、それでも、AIは基本的に英語で問い合わせたときに最善の挙動をします。

回答を鵜呑みにしない

AIは結構嘘をつく・・・というか、誤った情報を出力します。AIの回答を鵜呑みにするのではなく、自分の頭で理解し、公式ドキュメントなどを確認したうえで適用していくことが大切です。AIを鵜呑みにしない。これは本当に大切です。

learningBOX株式会社's job postings
10 Likes
10 Likes

Weekly ranking

Show other rankings