若是忘記了linux系統的root密碼,有兩種方法來修改root密碼。linux
1、 單用戶模式shell
重啓系統 重啓系統,3秒後鍾內按向下鍵 centos
按方向鍵移動光標,選着第一個行,而後按字母「e」編輯它,而後使用方向鍵移動光標定位到linux16開頭的行。bash
按右鍵將光標移動到ro這裏,把ro改爲rw init=/sysroot/bin/bash 。 dom
而後同時按ctrl和x這兩個鍵,等幾秒,這樣就進入了enmergency [ɪ'mɜːdʒ(ə)nsɪ] 模式(單人模式)。
注意:這個時候的系統不是咱們安裝的centos系統,而是內存的一個系統,咱們要進入到原系統中。ssh
切換到原系統 chroot /sysroot/ ide
修改密碼
passwd
centos7
注意:密碼修改完後還要建立一個文件。
touch /.autorelabel 這個文件一個要寫對,不然更改的密碼將不能生效。執行這一步是爲了讓SELinux生效,若是不執行,則咱們修改的密碼是不會生效的,執行。 .net
同時按Ctrl +D這兩個鍵,再輸入命令reboot 重啓系統,等幾秒就出現登陸界面,此時使用咱們的新密碼登陸便可。code
2、 救援模式
光盤啓動 檢查光驅是不是開啓啓動,點擊VMware右下角的小光盤圖標處,點擊它,此時會出現兩個選項,選擇「設置」選項,會彈出「虛擬機設置」對話框,看一下右側的設置狀態,要保證對勾都是打上的。
將VMware的BIOS設置成光驅啓動 先將centos系統關機,而後再VMware左側選中這臺虛擬機並右擊,從中選擇「電源」—「啓動時進入BIOS」。
進入BOIS後,按右鍵選着「BOOT」,而後按-號調節各個啓動對象,選着CD-ROM讓它在第一個啓動,設置完後,按F10鍵保存退出。
隨後進入光驅啓動界面,使用上下方向鍵選着「Troubleshooting」。
回車後,使用向下方向鍵選擇Rescuel a CentOS Linux system。
連續敲兩次回車,等幾秒中,其中一些提示,它告訴咱們,初始化系統在/mnt/sysimage下面,和單人模式/sysroot 相似,就是咱們的原系統目錄。
這裏咱們選擇第1項,輸入數字「1」回車後,再次回車,它又一次告訴咱們:初始化系統已經掛在到/mnt/sysimage下面,想要進入初始化系統下面,須要執行 chroot /mnt/sysimage命令。
進入初始化系統後,執行命令passwd,修改root密碼。
退出救援模式 先使用ctrl+D 組合鍵退出原始系統,而後執行reboot命令便可 注意:將VMware光驅啓動修改爲硬盤啓動。
3、 克隆centos
首先關閉正在運行的centos,執行命令:shutdown –h now 或者init 0。而後在右側對應虛擬機名字上單擊鼠標右鍵,選着「管理」,再選着「克隆」。
此時會出現「克隆嚮導」界面,直接下一步,按鈕,再點擊下一步按鈕,會出現克隆類型「這裏採用默認值,即選擇」建立連接克隆」,這種類型會節省空間,比較方便。
繼續點擊「下一步」按鈕,這裏能夠設置克隆虛擬機名字,和保存路徑,接着點擊「完成」和「關閉」按鈕,最終完成centos克隆。
打開克隆虛擬機centos7-02,修改IP,保存退出,而後使用命令dhlient獲取IP,ifconfig查看IP是否變成了129.
爲了容易區分兩臺centos,將兩臺主機名修改爲,linux-128和linux-129。在第一臺centos上運行命令:
或者修改主機名配置文件/etc/hostname,命令以下:
vi /etc/hostname
將原文件的內容修改爲 linux-128 ,保存後,退出當前終端,可使用ctrl+D,而後再登陸一次,就發現主機名已經發生變化。第二臺使用一樣的方法,修改爲linux-129.
4、 Linux系統相互登陸
使用Xshell登陸主機名爲linux-128,而後執行命令:
[root@linux-128 ~]# ssh root@192.168.88.129 //第一次登陸對方機器,有個提示 The authenticity of host '192.168.88.129 (192.168.88.129)' can't be established. ECDSA key fingerprint is 18:75:80:92:f3:99:67:a3:97:df:6c:b1:9c:76:c4:e1. Are you sure you want to continue connecting (yes/no)? yes
這裏輸入yes,而後回車,又出現一個提示,意思保存了192.168.88.129這臺機器的信息:
Warning: Permanently added '192.168.88.129' (ECDSA) to the list of known hosts. root@192.168.88.129's password:
而後輸入192.168.88.129的root密碼後,成功登陸linux-129.
注意,ssh –p 22 root@192.168.88.129 完整代碼。-p後面接端口,ssh默認端口是22,root是以那個用戶遠程登陸,這裏能夠省略,默認是root登陸。
這裏符號前面@root 表示已遠程機器的那個用戶的身份登陸,咱們能夠省略root@,能夠寫成ssh 192.168.88.129,它也表示以root用戶身份登陸,這個不是固定,取決於當前系統的當前用戶是誰,查看當前用戶名: whoami 也能夠寫成: who am i
[root@linux-129 ~]# whoami root [root@linux-129 ~]# who am i root pts/1 2017-10-19 16:24 (192.168.88.128)
前面講過,putty和xshell能夠用密鑰登錄,linux之間登錄也可使用密鑰來登陸。
客戶端生成密鑰對,咱們先打開linux-128,關掉linux-129,在linux-128上運行命令:
[root@linux-129 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):
這個命令是用來生成密鑰對,首先,它讓咱們定義私鑰的存放路徑,默認路徑是/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: ba:bb:b0:00:8e:8a:6b:ca:76:d2:b1:16:cf:df:63:1d root@linux-129 The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | | |. S | |o. o . E | |..o B . . . | |++ * = ..o . | |Oo+ . =+... | +-----------------+ 最終生成了密鑰對,你能夠在/root/.ssh/目錄下找到公鑰(id_rsa.pud)和私鑰(id_rsa).
將公鑰複製到要登陸的機器上 首先查看128的公鑰的內容,命令以下:
[root@linux-129 ~]# cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTemp/ahQc0XqdEAUfnXcOOie7xdnhLKZlWs5MHy/pEUTkhaEYa+o/NKBBlN3vTFXZJu1trY+/Nyi1IeEOKlkrmCvz9EW/qDBSl+XWrv6h7K/pjouc4Vbs+SMrKCykgaR2drHqp9WNlEah/jECjDm+CHIRKXKdso7WxK+uba+DqCjwGEcDWvsvxNacNvptySNByymWtv/mt74JQWGmskTLNzSVdHQTZn6cLowL2z97hcUOxD5uLw5Nt1lWLy5FA+N0/JxYP1QynNthqBLO2iMxY6xB2TL4HupHyojgO8HKcBABmfsXrdYRfG8TS/h/FNL9Wa3fvVYtnlcLMeeOf8Dh root@linux-129
將這些字符所有複製,而後粘貼到129上的文件/root/.ssh/authorized_key裏。若是之前有其餘的公鑰,須要另起一行粘貼128的公鑰。在129上執行命令:
[root@linux-129 ~]# vi /root/.ssh/authorized_keys
將光標定位到文件末尾,而後輸入o進入編輯模式,右鍵粘貼128的公鑰,而後按Esc鍵,輸入「:wq」回車。
注意:檢查Selinx是否關閉,查看命令:
# getenforce Disabled
若是以前沒有設置過公鑰,須要建立文件和設置權限:
#mkdir /root/.ssh/authorized_keys #chmod 700 /root/.ssh/authorized_keys
在linux-128上登陸129主機,此時就不會提示咱們輸入密碼,就能夠直接登陸129了,這樣就能夠實現linux經過密鑰驗證的方式登陸linux。若是你在密鑰生成對時設置了密碼,那麼這裏就會提示你輸入密鑰密碼了.
[root@linux-128 ~]# ssh 192.168.88.129 Last login: Thu Oct 19 16:49:06 2017 from 192.168.88.1 [root@linux-129 ~]# ls anaconda-ks.cfg