6.3. SSH を使用した仮想マシンへの接続
SSH 接続プロトコルを使用して、仮想マシン (VM) のターミナルを操作できます。
前提条件
- ターゲット仮想マシンへのネットワーク接続と root アクセス特権がある。
- ターゲット仮想マシンがリモートホストにある場合は、そのホストへの接続と root アクセス特権もある。
仮想マシンネットワークが、
libvirtによって生成されたdnsmasqによって IP アドレスを割り当てている。これは、たとえば、libvirtNAT ネットワーク などに該当します。特に、仮想マシンが次のネットワーク設定のいずれかを使用している場合、SSH を使用して仮想マシンに接続することはできません。
-
hostdevインターフェイス - ダイレクトインターフェイス
- ブリッジインターフェイス
-
libvirt-nssコンポーネントを仮想マシンのホストにインストールして有効にしている。そうでない場合は、以下を行います。libvirt-nssパッケージをインストールします。# dnf install libvirt-nss/etc/nsswitch.confファイルを編集し、libvirt_guestをhosts行に追加します。... passwd: compat shadow: compat group: compat hosts: files libvirt_guest dns ...
手順
リモート仮想マシンに接続する場合は、最初に SSH でその物理ホストに接続します。以下の例は、root 認証情報を使用してホストマシン
192.0.2.1に接続する方法を示しています。# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2021 root~#仮想マシンの名前とユーザーアクセスの認証情報を使用して、仮想マシンに接続します。たとえば、以下は、root 認証情報を使用して、仮想マシン
testguest1に接続します。# ssh root@testguest1 root@testguest1's password: Last login: Wed Sep 12 12:05:36 2018 root~]#
トラブルシューティング
仮想マシンの名前が分からない場合は、
virsh list --allコマンドを使用すると、ホストで利用可能な仮想マシンのリストを表示できます。# virsh list --all Id Name State ---------------------------------------------------- 2 testguest1 running - testguest2 shut off