忘記root密碼後怎麽解決?克隆虛擬機後如何實現兩臺linux相互登錄?
使用單用戶模式破解更改root密碼:
1、如果忘記linux的root密碼,可以進入單用戶模式更改root密碼,首先我們重啟虛擬機,操作如下:
2、重啟系統後,3秒鐘內按向下的方向鍵,讓它停留在開機界面,如下圖:
3、按方向鍵停留在第一行,按字母e編輯它,然後進入另外 一個界面,通過向下方向鍵往下定位到linux 16開頭的行,把ro 改成rw init=/sysroot/bin/bash,如下圖:
4、改完成後然後直接按Ctrl+x,系統就會進入如下界面,這樣就正式進入emergency模式。
5、首先切換到原始系統,然後再修改root密碼,操作過程如圖:
說明:chroot命令用來切換系統,/sysroot目錄就是原始系統(也就是我們的CentOS7系統),passwd命令就是修改root密碼的命令。因為VMwave裏面它不支持中文,出現的小方塊俗稱亂碼,輸入LANG=en,這個命令就是把當前終端的語言設置為英文。密碼改完之後還需要一個額外 的操作,輸入命令:touch /.autorelabel 然後按Ctrl+D,輸入命令reboot重啟,完成更改。
使用救援模式破解更改root密碼:
備註:救援模式(即rescus模式,這個模式主要應用於系統無法進入的情況,比如grub損壞或某一個配置文件修改出錯,如grub設置了密碼時你不記得了那你就無法使用單用戶更改root密碼,所以要進入救援模式更改密碼)
1、在VM虛擬機上設置光盤啟動。
2、設置完成後,在VMware左側選中這臺虛擬機並右擊,從中選擇“電源”——“打開電源時進入固件”,最終結果到第二張圖。
設置完這步之後,直接按F10保存設置並退出進入系統。
3、隨著進入光驅啟動界面,使用上下方向鍵選擇Troubleshooting回車進入。如圖:
4、回車出現如下界面,使用向下方向鍵選擇Rescue a CentOS Linux system
5、連接敲兩次回車,出現如下所示界面
備註:其中有一些提示,它告訴我們,初始系統在/mnt/sysimage下面,其實這和上一節的/sysroot類似。這裏有4個選項:選擇第1項將會繼續往下走,選擇第2項將會把初始的系統掛載為只讀模式,我們不能寫磁盤,也就意味著不能再修改配置文件,也不能更改root密碼,選擇第3項會直接出現一個shell,而選擇第4項則會重啟。
6、這裏選擇第1項,輸入數字“1”,回車後再次回車,它又再一次告訴我們:初始系統已經掛載到了/mnt/sysimage下面,要想進入初始系統下面,需要執行chroot /mnt/sysimage命令
7、進入初始系統後,執行修改root密碼的命令passwd,如下圖:
備註:執行完成chroot命令之後,你會發現命令行前後有一些變化,即原來的sh-4.2變成了bash-4.2,這就是因為環境變量發生了變化。完成了root密碼的修改,當然救援模式並非只有改root密碼這麽簡單的作用,我們還可以在救援模式下處理一些故障、修復數據等
8、修改完root密碼後,按Ctrl+D組合鍵退出原始系統,然後執行reboot或init 0命令重啟或關機即可,關機後進入BIOS設置硬盤為第一啟動系統或設置VMware關閉光驅即可。
克隆虛擬機:
備註:當你在做實驗的時候你就需要不止一臺虛擬機,當然你也可以重新安裝一臺,但為了不浪費時間,還有一個辦法就是克隆虛擬機。
1、關閉正在運行的Linux系統,關機命令有init 0或shutdown -h now,然後在左側對應的虛擬機名字上單擊鼠標右鍵,選擇“管理”,再選擇“克隆”,如下圖:
2、此時會出現“克隆向導”界面,直接點擊“下一步”按鈕,再點擊“下一步”按鈕,選擇”創建鏈接克隆“,這種類型比較方便節省時間,繼續點擊”下一步“按鈕,然後你可以設定克隆虛擬機的名稱和保存的路徑,接著點擊”完成“,最終完成虛擬機克隆。
3、開啟克隆完成的虛擬機,登錄系統,由於這兩臺系統IP是一樣,所以我們要編輯網卡配置文件更改IP,輸入vi /etc/sysconfig/network-scripts/ifcfg-ens33,然後修改IP ,刪掉uuid那一行,保存退出,然後輸入systemctl restart network.service重啟網卡服務,完成更改。
4、然後把另外一臺虛擬機也開機起來,把主機名更改一下,輸入hostnamectl set-hostname 主機名 ,回車完成更改,輸入hostname查看主機名,完成。
Linux機器相互登錄:
使用密碼登錄:
1、linux虛擬機通過Xshell遠程登錄aminglinux-01,然後在第一臺機器上執行如下命令:
[root@aminglinux-02 ~]# ssh 192.168.1.237
The authenticity of host ‘192.168.1.237 (192.168.1.237)‘ can‘t be established.
ECDSA key fingerprint is 89:19:99:8c:63:ff:d9:e6:19:0d:81:03:27:54:49:78.
Are you sure you want to continue connecting (yes/no)? yes //第一次登錄對方機器,有一提示
這裏我們直接輸入 yes,然後回車,出現如下警告,它的意思是保存了192.168.1.237這臺機器的信息:
Warning: Permanently added ‘192.168.1.237‘ (ECDSA) to the list of known hosts.
[email protected]‘s password:
輸入192.168.1.237的root密碼後,成功登錄aminglinux-01這臺機器
Last login: Thu Oct 19 19:31:23 2017 from 192.168.4.84
[root@aminglinux-01 ~]#
備註:這裏可以使用whoami查看當前登錄用戶,標準連接寫法是 ssh username@ip 即 ssh [email protected] ,命令w查看系統負載 如下圖:
小知識:ssh默認端口是22 ,從以上連接我們可以看出,我們是直接遠程連接,假設有的機器端口不是22而是其它,那我們需要如何連接,可以輸入命令:ssh -p 22 [email protected]
使用密鑰登錄:
1、linux上有一個工具叫ssh -keygen,在linux機器直接輸入,如下。
[root@aminglinux-02 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. //私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. //公鑰
The key fingerprint is:
34:8c:69:21:37:db:d5:8c:14:b2:a2:bd:a8:1f:7c:11 root@aminglinux-02
The key‘s randomart image is:
+--[ RSA 2048]----+
| . + ..+= |
| o O +. o |
| E * |
| + + . |
| . o S |
| . . o |
| + o |
| . o |
| ... |
+-----------------+
[root@aminglinux-02 ~]#
也可以通過命令 ls /root/.ssh/ 查看私鑰與公鑰文件目錄,如下:
[root@aminglinux-02 ~]# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
備註:如果 一個機器登錄另外一個機器,那麽我們就需要把這個機器上的公鑰復制到另個一臺機器上,這兩個是一對,假設02機器通過密鑰登錄01機器,那02機器需要私鑰,01機器需要公鑰。
2、我們從02這臺機器上輸入命令cat /root/.ssh/id_rsa.pub ,把公鑰復制出來,如下。
[root@aminglinux-02 ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xiK5bBsPEKn8Iii1GRN0w1C2H0IvQ6GeTJuLq/aePNFh06rDuxQujAc2tgdrRDekSeeDKJ/WNRhRJD7hkMs27XA3yNWoz0GtjShsKxinwYKTXwUmSzM825YFWCuHRv4nVWjTy6gFNbjeIy57RjTMLo1lVe+UNOq686xq/WQH0eumyrkNK+OCoPxLEWvsbSpRzL+TPwjkdL36OhdFgGVjjmBfsqA8Hgd5f4++AQF4tWS5x/F/4GbJmUAvT4IBxNbbl2iKNeq//uZGgVe7tgWHULlxWQn5GEjLCQGYASbxfzjx1UqKyanWZHOVhjfGfWfg0bZK5j0qCqFBh+mKP+B7 root@aminglinux-02
3、把從02機器復制出來的公鑰粘貼到01機器,在01機器輸入命令Vi /root/.ssh/authorized_key 回車打開把公鑰粘貼進去,保存退出。
4、檢查getenforce 查看狀態,臨時關閉selinux 這個防火墻。如下:
[root@aminglinux-01 ~]# getenforce
Enforcing
[root@aminglinux-01 ~]# setenforce 0
[root@aminglinux-01 ~]# getenforce
Permissive
[root@aminglinux-01 ~]#
5、驗證使用密鑰登錄成功,不用密碼,完成。
[root@aminglinux-02 ~]# ssh -p 22 [email protected]
Last login: Thu Oct 19 20:20:05 2017 from 192.168.1.238
[root@aminglinux-01 ~]#
本文出自 “Gary博客” 博客,請務必保留此出處http://taoxie.blog.51cto.com/10245493/1974371
忘記root密碼後怎麽解決?克隆虛擬機後如何實現兩臺linux相互登錄?