5.3. SSH を使用した仮想マシンへの接続
SSH 接続プロトコルを使用して仮想マシンの端末と相互作用するには、以下の手順に従います。
前提条件
- ターゲットの仮想マシンへのネットワーク接続および root アクセス権がある。
- ターゲットの仮想マシンがリモートホストにある場合は、そのホストへの接続およびルートのアクセス権限もある。
仮想マシンネットワークは、
libvirtが生成したdnsmasqにより IP アドレスを割り当てます。これは、たとえば、libvirtNAT ネットワーク などに該当します。特に、仮想マシンが次のネットワーク設定のいずれかを使用している場合、SSH を使用して仮想マシンに接続することはできません。
-
hostdevインターフェイス - ダイレクトインターフェイス
- ブリッジインターフェイス
-
libvirt-nssコンポーネントを仮想マシンのホストにインストールして有効にしている。そうでない場合は、以下を行います。libvirt-nssパッケージをインストールします。dnf install libvirt-nss
# dnf install libvirt-nssCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/nsswitch.confファイルを編集し、libvirt_guestをhosts行に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
リモート仮想マシンに接続する場合は、最初に SSH でその物理ホストに接続します。以下の例は、root 認証情報を使用してホストマシン
192.0.2.1に接続する方法を示しています。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~#Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシンの名前とユーザーアクセスの認証情報を使用して、仮想マシンに接続します。たとえば、以下は、root 認証情報を使用して、仮想マシン
testguest1に接続します。ssh root@testguest1
# ssh root@testguest1 root@testguest1's password: Last login: Wed Sep 12 12:05:36 2018 root~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow
トラブルシューティング
仮想マシンの名前が分からない場合は、
virsh list --allコマンドを使用すると、ホストで利用可能な仮想マシンのリストを表示できます。virsh list --all
# virsh list --all Id Name State ---------------------------------------------------- 2 testguest1 running - testguest2 shut offCopy to Clipboard Copied! Toggle word wrap Toggle overflow