18.2. SSH를 사용한 원격 관리
ssh
패키지는 원격 가상화 서버에 관리 기능을 안전하게 보낼 수 있는 암호화된 네트워크 프로토콜을 제공합니다. 아래에 설명된 방법은 SSH 연결을 통해 안전하게 터널링된 libvirt 관리 연결을 사용하여 원격 시스템을 관리합니다. 모든 인증은 로컬 SSH 에이전트에서 수집한 SSH 공개 키 암호화 및 암호 또는 암호를 사용하여 수행됩니다. 또한 각 게스트의 VNC 콘솔은 SSH 를 통해 터널링됩니다.
SSH 를 사용하여 가상 머신을 원격으로 관리하는 경우 다음과 같은 문제를 알고 있어야 합니다.
- 가상 머신을 관리하려면 원격 머신에 대한 루트 로그인 권한이 필요합니다.
- 초기 연결 설정 프로세스가 느려질 수 있습니다.
- 모든 호스트 또는 게스트에서 사용자 키를 취소하는 표준 또는 간단한 방법은 없습니다.
- SSH 는 많은 수의 원격 시스템에서 제대로 확장되지 않습니다.
참고
Red Hat Virtualization을 사용하면 다수의 가상 머신을 원격 관리할 수 있습니다. 자세한 내용은 Red Hat Virtualization 설명서 를 참조하십시오.
SSH 액세스에 필요한 패키지는 다음과 같습니다.
- openssh
- openssh-askpass
- openssh-clients
- openssh-server
virt-manager에 대한 암호 없는 또는 암호 관리 SSH 액세스 구성
다음 명령은 처음부터 시작하고 SSH 키가 설정되어 있지 않다고 가정합니다. SSH 키를 다른 시스템에 설정 및 복사한 경우 이 절차를 건너뛸 수 있습니다.
중요
SSH 키는 사용자 종속 키이며 소유자만 사용할 수 있습니다. 키의 소유자는 이를 생성한 사용자입니다. 키는 다른 사용자 간에 공유되지 않을 수 있습니다.
원격 호스트에 연결할 키를 소유하는 사용자가 virt-manager 를 실행해야 합니다. 즉, root가 아닌 사용자가 원격 시스템을 관리하는 경우 virt-manager 를 권한 없는 모드에서 실행해야 합니다. 원격 시스템이 로컬 root 사용자가 관리하는 경우 SSH 키를 root가 소유하고 생성해야 합니다.
virt-manager 를 사용하여 권한이 없는 사용자로 로컬 호스트를 관리할 수 없습니다.
선택 사항: 사용자 변경
필요한 경우 사용자를 변경합니다. 이 예에서는 로컬 root 사용자를 사용하여 다른 호스트 및 로컬 호스트를 원격으로 관리합니다.$ su -
SSH 키 쌍 생성
virt-manager 가 사용되는 시스템에서 공개 키 쌍을 생성합니다. 이 예에서는~/.ssh/
디렉터리의 기본 키 위치를 사용합니다.# ssh-keygen -t rsa
원격 호스트에 키 복사
암호 없이 원격 로그인하거나 암호를 사용하여 SSH 키를 관리 중인 시스템에 배포해야 합니다. ssh-copy-id 명령을 사용하여 제공된 시스템 주소의 root 사용자에게 키를 복사합니다(예:root@host2.example.com)
.# ssh-copy-id -i ~/.ssh/id_rsa.pub root@host2.example.com root@host2.example.com's password:
그런 다음 머신에 로그인하고.ssh/authorized_keys
파일을 확인하여 예기치 않은 키가 추가되지 않았는지 확인합니다.ssh root@host2.example.com
필요에 따라 다른 시스템에 대해 반복합니다.선택 사항: ssh-agent에 암호를 추가합니다.
필요한 경우 SSH 키의 pass-phrase를 ssh-agent 에 추가합니다. 로컬 호스트에서 다음 명령을 사용하여 암호가 없는 로그인을 활성화하려면 pass-phrase(한 번 있는 경우)를 추가합니다.# ssh-add ~/.ssh/id_rsa
ssh-agent가 실행되지 않으면 이 명령이 실행되지 않습니다. 오류 또는 충돌을 방지하려면 SSH 매개변수가 올바르게 설정되어 있는지 확인합니다. 자세한 내용은 Red Hat Enterprise System Administration Guide 를 참조하십시오.
libvirt 데몬 (libvirtd
)
libvirt
데몬은 가상 머신을 관리하기 위한 인터페이스를 제공합니다. 이러한 방식으로 관리하려는 모든 원격 호스트에 libvirtd
데몬을 설치하고 실행해야 합니다.
$ ssh root@somehost # systemctl enable libvirtd.service # systemctl start libvirtd.service
libvirtd
및 SSH 를 구성한 후에는 가상 시스템에 원격으로 액세스하고 관리할 수 있습니다. 이 시점에서 VNC
를 사용하여 게스트에 액세스할 수도 있습니다.
virt-manager를 사용하여 원격 호스트에 액세스
원격 호스트는 virt-manager GUI 도구를 사용하여 관리할 수 있습니다. 암호 없이 로그인하려면 SSH 키가 virt-manager 를 실행하는 사용자에 속해야 합니다.
- virt-manager 를 시작합니다.
- 드롭다운 메뉴를 사용하여 하이퍼바이저 유형을 선택하고확인란을 클릭하여 연결 (이 경우 SSH를 통한 원격 터널)을 열고 입력한 다음 클릭합니다.