Hyper-Vで動かしているUbuntuへ、VSCodeからSSH接続してターミナルやファイル操作を行う手順をまとめます。
途中で「リモートを開いています...」のまま止まる問題の対処も含めています。
環境例
- Host: Windows 11
- Hypervisor: Hyper-V
- Guest OS: Ubuntu 24.04
- Editor: VSCode
- Extension: Remote - SSH
1. UbuntuにSSHサーバーをインストール
Ubuntu側でSSHサーバーを入れます。
sudo apt update
sudo apt install openssh-server -y
確認
sudo systemctl status ssh
active (running) ならOK。
2. UbuntuのIPアドレスを確認
hostname -I
例
192.168.1.120
3. WindowsからSSH接続確認
PowerShellで
ssh ubuntu@192.168.1.120
接続できればOK。
4. VSCodeにRemote-SSHをインストール
VSCode拡張から
Remote - SSH
をインストール。
5. SSH接続設定
Windowsの
C:\Users\ユーザー名\.ssh\config
に追加
Host ubuntu-hyperv
HostName 192.168.1.120
User ubuntu
6. VSCodeから接続
Ctrl + Shift + P
Remote-SSH: Connect to Host
ubuntu-hyperv
パスワードを入力すると接続されます。
左下に
>< SSH: ubuntu-hyperv
と表示されれば成功です。
7. ターミナルを開く
接続後
Terminal → New Terminal
Ubuntuのターミナルが使えます。
例
pwd
ls
8. フォルダを開く
File → Open Folder
最初は
/home/ユーザ名
ではなく
/home/ユーザ名/work
のような軽いディレクトリを作ると安定します。
Ubuntu側で
mkdir -p ~/work
9. 「リモートを開いています」で止まる場合
VSCode Serverが壊れている可能性があります。
VSCodeで
Ctrl + Shift + P
Remote-SSH: Kill VS Code Server on Host
その後再接続。
またはUbuntu側で
rm -rf ~/.vscode-server
10. パスワード入力をなくす(SSH鍵)
WindowsのPoweshellで実行(鍵ファイル作成)
ssh-keygen
WindowsのPoweshellで実行(Ubuntuへコピー)
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh ubuntu-hyperv "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Ubuntu側で実行(権限設定)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
WindowsのPowershellで実行(接続テスト)
ssh ubuntu-hyperv
パスワードなしでログインできれば成功。
まとめ
手順まとめ
- UbuntuにSSHサーバーインストール\
- IPアドレス確認\
- WindowsからSSH確認\
- VSCode Remote-SSHインストール\
- SSH config設定\
- VSCodeから接続\
- ターミナル使用\
- フォルダを開く\
- 接続トラブル時はVSCode Server削除\
- SSH鍵認証設定
これでVSCodeからUbuntu環境を直接操作できるようになります。