Openstack Queen版本之guestfish修改centos7雲鏡像解決ssh無法連接VM實例


原因

用VirtualBox 以及Queen版本搭建 openstack, 創建了實例,用ssh怎么搞都不能夠免密登陸進入創建的虛擬機,雖然可以ping通,所以打算嘗試一下直接修改鏡像ssh密碼。

1.安裝guestfish

apt-get install libguestfs-tools -y

2.打開鏡像(前面一篇博客有提到下載和轉換)

guestfish --rw -a CentOS-7-x86_64-GenericCloud-1907.qcow2

3.執行修改

><fs> run
><fs> list-filesystems
><fs> mount /dev/sda1 /
><fs> vi /etc/cloud/cloud.cfg
><fs> vi /etc/ssh/sshd_config 
><fs> vi /etc/shadow
><fs> quit 

修改1

/etc/cloud/cloud.cfg我修改了如下:

// 4,5行
disable_root:0   //允許root登陸
ssh_pwauth: 1    //ssh開啟密碼登陸
// 57行
lockpasswd: false
plain_text_passwd: "123456"  //添加

下圖是原來的情況:

修改2

/etc/ssh/sshd_config 修改了如下,即允許管理員登陸

修改3 /etc/shadow

需要先打開新的shell,然后輸入

[root@controller ~]#  openssl passwd -1 123456
$1$.dtYmdL8$9yGo/gKaGWmJHwoIgJDVM/
[root@controller ~]# 


將root默認的隨機密碼替換成生成的加密密碼,如下圖所示

問題1

><fs> run
libvirt: XML-RPC 錯誤 : 將插槽連接到 '/var/run/libvirt/libvirt-sock' 失敗: 沒有那個文件或目錄
libguestfs: error: could not connect to libvirt (URI = qemu:///system): 將插槽連接到 '/var/run/libvirt/libvirt-sock' 失敗: 沒有那個文件或目錄 [code=38 int1=2]

解決:因為libvirtd 沒有啟動,啟動即可。

service libvirtd start

問題2

><fs> run
◓ 25% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒═════════════════════════════════════════════════════════⟧ --:--
libguestfs: error: could not create appliance through libvirt.

Try running qemu directly without libvirt using this environment variable:
export LIBGUESTFS_BACKEND=direct

Original error from libvirt: Cannot access storage file '/root/CentOS-7-x86_64-GenericCloud-1907.qcow2' (as uid:107, gid:107): 權限不夠 [code=38 int1=13]
><fs> quit

解決:修改/etc/libvirt/qemu.conf,把user 和group的注釋#去掉,

vim /etc/libvirt/qemu.conf

#       user = "100"    # A user named "100" or a user with uid=100
#
user = "root"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "root"


重啟服務

systemctl restart libvirtd

修改

[root@controller ~]#  openssl passwd -1 123456
$1$.dtYmdL8$9yGo/gKaGWmJHwoIgJDVM/

結果

用我們修改過的鏡像,重新上傳鏡像,最終可以登陸到我們雲平台建立的虛擬機,不過建立連接的過程會很緩慢,大概1-3分鍾,等到你覺得不可能連上。。。

xshell centos登陸

putty centos登陸

root 登陸

感謝以下博客的博主,非常好的學習參考。
利用guestfish工具修改openstack雲鏡像的root密碼,默認用戶centos的密碼
上傳鏡像
修改openstack鏡像--支持root密碼登陸
Ubuntu16手動安裝OpenStack——修改鏡像


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM