5.3. SSH를 사용하여 가상 머신에 연결
SSH 연결 프로토콜을 사용하여 VM(가상 머신) 터미널과 상호 작용하려면 다음 절차를 따르십시오.
사전 요구 사항
- 대상 VM에 대한 네트워크 연결 및 루트 액세스 권한이 있습니다.
- 대상 VM이 원격 호스트에 있는 경우 해당 호스트에 대한 연결 및 root 액세스 권한도 있습니다.
VM 네트워크는
libvirt
에서 생성된dnsmasq
에 의해 IP 주소를 할당합니다. 예를 들어libvirt
NAT 네트워크의 경우입니다.특히 VM에서 다음 네트워크 구성 중 하나를 사용하는 경우 SSH를 사용하여 VM에 연결할 수 없습니다.
-
hostdev
인터페이스 - 직접 인터페이스
- 브리지 상호 작용
-
libvirt-nss
구성 요소가 VM의 호스트에 설치되어 활성화되어 있습니다. 그렇지 않은 경우 다음을 수행합니다.libvirt-nss
패키지를 설치합니다.# dnf install libvirt-nss
/etc/nsswitch.conf
파일을 편집하고libvirt_guest
를hosts
행에 추가합니다.... passwd: compat shadow: compat group: compat hosts: files libvirt_guest dns ...
프로세스
원격 VM에 연결할 때 먼저 물리적 호스트에 SSH로 연결합니다. 다음 예제에서는 루트 자격 증명을 사용하여 호스트 시스템
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~#
VM의 이름과 사용자 액세스 자격 증명을 사용하여 연결합니다. 예를 들어 다음은 루트 인증 정보를 사용하여
testguest1
VM에 연결합니다.# ssh root@testguest1 root@testguest1's password: Last login: Wed Sep 12 12:05:36 2018 root~]#
문제 해결
VM 이름을 모르는 경우
virsh list --all
명령을 사용하여 호스트에서 사용 가능한 모든 VM을 나열할 수 있습니다.# virsh list --all Id Name State ---------------------------------------------------- 2 testguest1 running - testguest2 shut off
추가 리소스