1. 程式人生 > >Virsh管理kvm虛擬機器認證和加密

Virsh管理kvm虛擬機器認證和加密

前提:使用virsh管理kvm虛擬機器的時候出現需要使用密碼的情況

[[email protected]1 ~]# virsh list --all
Please enter your authentication name: root
Please enter your password: 
error: Failed to reconnect to the hypervisor
error: no valid connection
error: authentication failed: authentication failed

原因分析使用了sasl認證

# 解決
[[email protected]1 ~]# saslpasswd2 -a libvirt admin Password: # 輸入密碼 Again (for verification): # 確認密碼 [[email protected]1 ~]# virsh list --all Please enter your authentication name: admin Please enter your password: #密碼 Id Name State ----------------------------------------------------
1 kvm-1 running 2 kvm-2 running - kvm-3 shut off # 可以看出建立密碼後可以通過virsh正常管理kvm虛擬機器

下面詳細介紹摘自:IBM

使用 SASL 認證和加密進行遠端管理

Simple Authentication and Security Layer (SASL) 提供了安全認證和資料加密,但是允許與傳統或外部認證和授權服務整合。

在其最簡單的形式下,SASL 可用來定義用於進行授權的憑證的資料庫。在較複雜的場景中,它可與外部認證服務(例如 Kerberos 或輕量級目錄訪問協議 (LDAP))一起工作以對使用者進行認證。在這兩種場景中,如果遠端管理請求並非在受保護的傳輸層安全性 (TLS) 連線上面執行,那麼 libvirtd 守護程式通過需要“類屬安全性服務”應用程式程式設計介面 (GSSAPI) 作為 SASL 方法來提供機密性。libvirtd 守護程式可將 DIGEST-MD5 而不是 GSSAPI 用作 SASL 方法。但是,MD5 雜湊被視為不安全,不應該使用。SASL 的這些變體支援對推送的資料進行加密。為簡便起見,此示例將 DIGEST-MD5 用作 SASL 方法。
要在最簡單的場景(沒有外部認證或 TLS 安全性)中使用 SASL 配置遠端管理,請完成下列步驟:

  1. 登入到 KVM 主機。
  2. 儲存 /etc/libvirt/libvirtd.conf 檔案和 /etc/sysconfig/libvirtd 檔案的副本。
  3. 編輯 /etc/libvirt/libvirtd.conf 檔案,並進行下列更改:

    • 通過將 listen_tls 配置偽指令設定為 0 來禁用該偽指令(因為沒有配置任何 TLS 證書)。否則,libvirtd 守護程式啟動會失敗。

    • 確保通過將配置偽指令 listen_tcp 設定為 1 來啟用該偽指令。

    • 將 auth_tcp 配置偽指令設定為 sasl,以啟用通過 TCP 進行 SASL 認證。

以下示例顯示了這些引數(與股票 libvirtd.conf 檔案對比),突出顯示了要刪除 (-) 和增加 (+) 的更改:

--- libvirtd.conf.orig  2012-01-04 11:28:32.000000000 -0600
+++ libvirtd.conf       2012-01-04 11:34:02.000000000 -0600
@@ -19,7 +19,7 @@
 # using this capability.
 #
 # This is enabled by default, uncomment this to disable it
-#listen_tls = 0
+listen_tls = 0
 # Listen for unencrypted TCP connections on the public TCP/IP port.
 # NB, must pass the --listen flag to the libvirtd daemon process for this to
@@ -30,7 +30,7 @@
 # DIGEST_MD5 and GSSAPI (Kerberos5)
 #
 # This is disabled by default, uncomment this to enable it.
-#listen_tcp = 1
+listen_tcp = 1


@@ -143,7 +143,7 @@
 # Don't do this outside of a dev/test scenario. For real world
 # use, always enable SASL and use the GSSAPI or DIGEST-MD5
 # mechanism in /etc/sasl2/libvirt.conf
-#auth_tcp = "sasl"
+auth_tcp = "sasl"
 # Change the authentication scheme for TLS sockets.
 #
  • 編輯 /etc/sysconfig/libvirtd 檔案並啟用 –listen 引數,以便 libvirtd 守護程式偵聽 TCP/IP 連線:
--- libvirtd.orig       2012-01-04 11:41:37.000000000 -0600
+++ libvirtd    2012-01-04 11:31:33.000000000 -0600
@@ -3,7 +3,7 @@

 # Listen for TCP/IP connections
 # NB. must setup TLS/SSL keys prior to using this
-#LIBVIRTD_ARGS="--listen"
+LIBVIRTD_ARGS="--listen"

 # Override Kerberos service keytab for SASL/GSSAPI
 #KRB5_KTNAME=/etc/libvirt/krb5.tab
  • 重新啟動 libvirtd 守護程式,以使更改生效:
# /etc/init.d/libvirtd restart
Stopping libvirtd daemon:                                  [  OK  ]
Starting libvirtd daemon:                                  [  OK  ]
  • 既然 libvirtd 守護程式接受 TCP 連線,請將一些使用者新增至 SASL 資料庫。以下示例使用 saslpasswd2 命令將 admin 使用者新增至 libvirt 憑證資料庫。
# saslpasswd2 -a libvirt admin
Password:
Again (for verification):

注:
libvirt 是 libvirtd 守護程式認證域的 SASL 資料庫的預期名稱。請勿將任何其他名稱用於此資料庫。
請使這些憑證保持安全狀態,因為此資料庫中的每個使用者都有權登入並執行遠端虛擬機器管理。

  • 如果 KVM 主機正在執行防火牆,請確保該防火牆允許傳入的流量通過 libvirtd 守護程式 TCP 偵聽埠。在預設情況下,該偵聽埠為 16509。

  • 通過使用 SASL 認證(以指示啟用了 libvirt 的應用程式與 TCP 傳輸進行連線)來驗證設定是否已成功。以下示例從遠端管理站執行 virsh 命令,並以新建立的使用者 admin 的身份登入,來在 kvmhost.company.org 系統中啟動 guest02 例項:

# virsh -c qemu+tcp://kvmhost.company.org/system start guest02
Please enter your authentication name:admin
Please enter your password:
Domain guest02 started 

相關推薦

Virsh管理kvm虛擬機器認證加密

前提:使用virsh管理kvm虛擬機器的時候出現需要使用密碼的情況 [[email protected]1 ~]# virsh list --all Please enter you

檢視virsh管理qemu虛擬機器日誌資訊libvirtd日誌資訊

在軟體的開發和執行過程中,程式的執行日誌log是不能少的。我們可以從log中發現程式的執行狀態,以及可能出先的一些error.通常執行日誌log上有時間、資訊級別(level)、訊息輸出(message)。通過分析日誌,我們可以從中獲得程式的執行資訊,方便我們的除錯、恢復

kvm虛擬機器vncspice配置

一、簡介         通過vnc或spice方式訪問虛擬主機上的KVM虛擬機器,可以直接通過圖形化介面virt-manager來設定,但此處通過xml配置檔案修改。 二、詳解 1、VNC方式訪問         vnc方式訪問虛擬機器不是在kvm虛擬機器安裝配置vn

KVM2-使用qcow2管理KVM虛擬機器磁碟

1、建立一個基礎映象檔案 [[email protected]  images]# pwd /var/lib/libvirt/images              //虛擬機器預設建立的位置 [[email protected]  images]#

如何使用 virsh 命令建立、還原刪除 KVM 虛擬機器快照 | Linux 中國

如果你在使用基於 KVM 的虛擬機器管理程式,那麼可以使用 virsh 命令獲取虛擬機器或域快照

運維之系統服務篇------1. KVM構建及管理virsh控制工具 、 映象管理虛擬機器快建技術

ONE DAY 1.Virsh 2.本機與虛擬機器搭建yum庫 3.安裝KVM虛擬化服務平臺 4.快速搭建虛擬機器 5.搭建教學環境 TWO DAY 1.釋出網路YUM源 2.擴充套件的10個應用(目錄----許可權的數值--------histroy-----du----

kvm虛擬機vcpu內存管理

kvm 添加內存和vcpu 關閉虛擬機 virsh shutdown kvmtest 編輯虛擬機設置 virsh edit kvmtest加500M內存和1核 查看添置後信息 virsh dominfo kvmtest 啟動虛擬機 virsh start kvmtestkvm虛擬機vcpu和內存管理

KVM虛擬機器安裝、管理

一、詳解1、虛擬化產品對比表2、KVM簡介KVM全稱Kernel-based Virtual Machine,翻譯過來是基於核心的虛擬機器,實際它是Linux核心的一個模組。該模組將Linux變為一個Hypervisor,由Quramnet開發,支援x86、s390、Powerpc等CPU。它使用Linux自

雙硬碟(系統盤資料盤)建立第一臺kvm虛擬機器

一,kvm虛擬機器磁碟規劃 磁碟A:60G,用於安裝作業系統,分割槽方法MBR,boot分割槽300M,swap分割槽2G,剩餘的空間全部作為根分割槽(/),磁碟為lvm+xfs。 磁碟B:200G,用於存放資料,分割槽方法GPT,建立一個分割槽,直接掛載到/dat

單磁碟(根資料放在不同分割槽)建立第一臺kvm虛擬機器、克隆虛擬機器

一,建立第一臺虛擬機器( 此步是在宿主機系統上進行的操作; 目的是作為克隆虛擬機器的模板): 1,虛擬機器磁碟規劃 磁碟A:大小260G 分割槽規劃,swap分割槽2048M,boot分割槽300M,根分割槽60G(lvm+xfs),資料分割槽(

Linux下KVM虛擬機器基本管理及常用命令

  說明:可能有重複 一、KVM的基本管理 1、檢視KVM虛擬機器配置檔案 #Kvm虛擬機器預設配置檔案位置 [[email protected] qemu]# pwd /etc/libvirt/qemu [[email protected] qe

kvm虛擬機器管理(建立、連線)

建立虛機、遠端管理kvm虛機、virsh命令列下管理虛機、、kvm通過virsh console 連入虛擬機器   一、建立虛機 1)開啟虛擬化管理器   2)選擇ISO安裝

WIN10啟用自帶虛擬機器軟體Hyper-V以及使用該軟體管理虛擬機器聯網問題檔案傳輸問題

我用的系統語言是英文的,下面的一些按鈕都用英文表示。 1.按鍵"'WIN'+'R'"輸入"control"開啟控制面板,"Programs"->"Program and Features"->"Turn Windows features on or off";

kvm虛擬化學習筆記(四)之kvm虛擬機器日常管理與配置

KVM虛擬機器的管理主要是通過virsh命令對虛擬機器進行管理。 1. 檢視KVM虛擬機器配置檔案及執行狀態 (1) KVM虛擬機器預設配置檔案位置: /etc/libvirt/qemu/ autostart目錄是配置kvm虛擬機器開機自啟動目錄。 (2) virsh命令幫助 # virsh -help

如何使KVM虛擬機器的CPU物理CPU一模一樣?

關於CPU型號的定義: libvirt 對CPU的定義提煉出標準的幾種型別在 /usr/share/libvirt/cpu_map.xml 可以查到     "486", "pentium", "pentium2", "pentiumpro", "coreduo", "n

Centos7.4安裝kvm虛擬機器(使用virt-manager管理

1)檢查cpu是否支援虛擬化 [[email protected] ~]# grep vmx /proc/cpuinfo 如果有vmx資訊輸出,就說明支援VT;如果沒有任何的輸出,說明你的cpu不支援,將無法使用KVM虛擬機器。 2)確保BIOS裡開啟虛擬化功能,即檢視是否載入KVM模組 [[e

菜鳥玩雲端計算之八:Ubuntu Server12.10 之KVM虛擬機器virsh console登入問題

菜鳥玩雲端計算之八:Ubuntu Server12.10 之KVM虛擬機器及virsh console登入問題(持續更新中...)cheungmineKVM是Linux核心級的虛擬技術.本文把如何在Ubuntu Server12.10上搭建虛擬機器作一個系統的總結. 類似文章

關於對cpu的理解kvm虛擬機器到物理cpu的繫結

邏輯CPU個數是指cat /proc/cpuinfo 所顯示的processor的個數 # cat /proc/cpuinfo | grep "processor" | wc -l物理CPU個數: 物理CPU個數,是指physical id(的值)的數量 # cat /proc/cpuinfo | grep

KVM虛擬機器管理命令使用方法

virsh相關命令 1.安裝libvirt yum install kvm virt-* libvirt 2.檢查是否安裝成功: lsmod |grep kvm #virsh -c qemu:///system list #virsh list #virsh li

抽空學學KVM(七):虛擬機器快照克隆

前幾天學寫了KVM中qume-info命令的使用,今天學學在虛擬化裡面用處廣泛的快照和克隆功能,snapshot和virt-clone。對於snapshot命令的使用其實很簡單。進入virsh介面以後可以檢視對對應的命令檢視詳細的引數使用介紹。 virsh # snapshot-