Windows 11 なら数分で完了! この記事では 「WSL2 とは何か」 という基本から、Ubuntu インストール → OpenSSH サーバー構築 → ポート転送 まで、すべてコマンド付きで解説します。
1. WSL2 とは?(1 分で理解)
- WSL=Windows Subsystem for Linux の略。Windows 上で Linux をネイティブ実行できる公式機能。
- WSL 2 は第 2 世代で、実際には軽量 VM(Hyper‑V)を裏側で動かすため 本物の Linux カーネル が動く。
- WSL1 との違いは「完全なシステムコール互換」「I/O 性能が大幅向上」「Docker もそのまま動く」など。
- VMware や VirtualBox と比べると、高速起動・低メモリ・簡単共有フォルダ が魅力。
2. 事前準備
- Windows 11 / Windows 10 22H2 以降。
- 管理者権限の PowerShell または Windows Terminal。
3. WSL2 と Ubuntu のインストール
PowerShell で実行
wsl --install # WSL 本体 + WSL2 カーネルを導入
wsl --install -d Ubuntu # Ubuntu LTS を一発インストール
wsl -d Ubuntu # 手動起動(自動で開かない場合)
初回起動時のセットアップ
Ubuntu コンソールが開いたら、ユーザー名 と パスワード を 1 回だけ設定します。
4. OpenSSH サーバーをインストール&有効化
# Ubuntu 側
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable ssh # 再起動後も自動起動
sudo service ssh start # SSHを起動
5. Windows 側でポート転送
Ubuntuに設定されているIPはWindowsからしかアクセスができないため、Windows PCのIPの特定のポートにアクセスしたらUbuntuのIPのSSHポートに転送して上げる必要があります。
ここでは、Windows PC の 2222/TCP に接続がきたら WSL 内の 22/TCP へ転送するようにします。
① WSL の IP を確認
wsl hostname -I # 例: 172.20.76.253
② portproxy を作成
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=22 connectaddress=172.20.76.253
これでWindows PC の 2222/TCP → WSL 内の 22/TCP へ転送されます。
③ ファイアウォールを解放
最後に、2222へのアクセスを許可します。
New-NetFirewallRule -DisplayName "WSL SSH" `
-Direction Inbound -Protocol TCP -LocalPort 2222 -Action Allow
6. 接続テスト
LAN 内の別 PC から:
ssh <Ubuntu_user>@<Windows_IP> -p 2222
接続できればセットアップ完了です 🎉
7. まとめ
- WSL2 は “ほぼネイティブ” に Linux を動かせる Windows 標準機能。
wsl --install
で WSL2 + Ubuntu を一撃導入。- Ubuntu 内で
openssh-server
を有効化。 - Windows の
portproxy
とNew‑NetFirewallRule
で 2222 ↔ 22 を橋渡し。 ssh -p 2222
でどこからでも接続可能。
これで、従来の VMware や VirtualBox より軽量に Linux 開発環境を運用できます。ぜひお試しください!
コメント