🎃

別PCからコンテナにsshで接続

に公開

はじめに

別の方法で作業をするので、環境をつぶす前にメモとしてだけ残します。

別PCのコンテナにvscodeで接続する

windows11 pro で動いているコンテナに、別PCの VSCODE で ssh 接続し、コンテナ内で開発などをしたかった。

windows11 pro

  • sshd サービスを有効化
  • New-NetFirewallRule -DisplayName "ContainerSSH(2220-2229)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 2220-2229 で ポートをあけておく
  • wsl2, ubuntu 24.04
  • .wslconfignetworkingMode=mirrored, networkingMode=bridged のどちらでもない
  • docker desktop ではなく、ubuntu に docker をインストール
  • ssh だけのコンテナを作成 port=2224
  • hostname -I でアドレス確認
  • netsh interface portproxy add v4tov4 listenport=2224 listenaddress=0.0.0.0 connectport=2224 connectaddress=ここに調べたアドレスを書く を実行しておく

windows11 home

  • vscode で pro 側のコンテナに ssh 接続する
  • アドレスは windows11 のアドレス、 ポートはコンテナのポート、ユーザはコンテナ内のユーザ

別の方法とは

.wslconfignetworkingMode=bridged にする

  • windows11 pro で sshd を使わなくてよくなる
  • 逆に ubuntu で sshd を起動しないといけないけど
  • コンテナだけでなく、 ubuntu そのものに ssh で接続して操作できるはず?

memo

通信をwslに渡す

netsh interface portproxy add v4tov4 listenport=2224 listenaddress=0.0.0.0 \
connectport=2224 connectaddress=ここに調べたアドレスを書く

設定解除

netsh interface portproxy delete v4tov4 listenport=2224 listenaddress=0.0.0.0

確認

netsh interface portproxy show all

Discussion