Hyper-Vで動かしているUbuntuに、WindowsホストからSSH接続できるようにする手順をまとめます。
Ubuntuの操作やリモート開発を行うときに便利です。
環境例
- Host:Windows 11
- Hypervisor:Hyper-V
- Guest OS:Ubuntu 24.04
1. UbuntuにSSHサーバーをインストール
まずゲストOS側にSSHサーバーをインストールします。
sudo apt update
sudo apt install openssh-server -y
2. SSHサービスの状態を確認
インストール後、SSHサービスが起動しているか確認します。
sudo systemctl status ssh
以下のように active (running) と表示されていればOKです。
Active: active (running)
もし起動していない場合は次のコマンドで起動します。
sudo systemctl enable ssh
sudo systemctl start ssh
3. UbuntuのIPアドレスを確認
ゲストOSのIPアドレスを確認します。
hostname -I
例
192.168.1.120
このIPアドレスを控えておきます。
4. WindowsホストからSSH接続
WindowsのPowerShellまたはWindows Terminalから以下を実行します。
ssh ユーザー名@IPアドレス
例
ssh ubuntu@192.168.1.120
初回接続時は以下の確認が出ます。
Are you sure you want to continue connecting (yes/no)?
yes を入力します。
その後Ubuntuユーザーのパスワードを入力すればログインできます。
5. Hyper-Vのネットワーク設定確認
SSH接続できない場合はHyper-Vの仮想スイッチ設定を確認します。
Hyper-Vマネージャー
仮想マシン
→ 設定
→ ネットワークアダプター
おすすめ設定
外部スイッチ(External Switch)
これにするとホストと同じネットワークに接続されるためSSH接続が簡単になります。
6. SSHポートが開いているか確認
Ubuntu側でSSHのポートが待ち受け状態になっているか確認します。
sudo ss -tulpn | grep 22
例
LISTEN 0 128 0.0.0.0:22
これが表示されていればSSHは正常に起動しています。
7. 接続テスト
Windowsからpingで疎通確認できます。
ping UbuntuのIPアドレス
例
ping 192.168.1.120
応答があればSSH接続できる可能性が高いです。
おまけ:SSH鍵ログイン(おすすめ)
毎回パスワードを入力したくない場合はSSH鍵認証を設定できます。
Windowsで鍵を作成
ssh-keygen
Ubuntuに鍵をコピー
ssh-copy-id ユーザー名@IP
これでパスワードなしでログインできます。
まとめ
手順まとめ
- Ubuntuに
openssh-serverをインストール\ - SSHサービスを起動\
- UbuntuのIPアドレスを確認\
- Windowsから
ssh user@IP\ - Hyper-Vの仮想スイッチ設定を確認
Qiita投稿用Markdownとしてそのまま利用できます。