忘记root密码怎么办

如果忘记了linux系统的root密码,有两种方法来修改root密码。

  1. 单用户模式
  2. 救援模式

一、 单用户模式

  1. 重启系统 重启系统,3秒后钟内按向下键
  2. centos 关闭欢迎页面 centos登录界面怎么关机_python

  3. 按方向键移动光标,选着第一个行,然后按字母“e”编辑它,然后使用方向键移动光标定位到linux16开头的行。
  4. 按右键将光标移动到ro这里,把ro改成rw init=/sysroot/bin/bash 。
  5. centos 关闭欢迎页面 centos登录界面怎么关机_运维_02

  6. 然后同时按ctrl和x这两个键,等几秒,这样就进入了enmergency [ɪ'mɜːdʒ(ə)nsɪ] 模式(单人模式)。
  7. centos 关闭欢迎页面 centos登录界面怎么关机_运维_03

  8. 注意:这个时候的系统不是我们安装的centos系统,而是内存的一个系统,我们要进入到原系统中。
  9. 切换到原系统 chroot /sysroot/
  10. centos 关闭欢迎页面 centos登录界面怎么关机_python_04

  11. 修改密码
    passwd
  12. centos 关闭欢迎页面 centos登录界面怎么关机_centos 关闭欢迎页面_05

  13. 注意:密码修改完后还要创建一个文件。
    touch /.autorelabel 这个文件一个要写对,否则更改的密码将不能生效。执行这一步是为了让SELinux生效,如果不执行,则我们修改的密码是不会生效的,执行。
  14. centos 关闭欢迎页面 centos登录界面怎么关机_linux_06

  15. 同时按Ctrl +D这两个键,再输入命令reboot 重启系统,等几秒就出现登录界面,此时使用我们的新密码登录即可。

二、 救援模式

  1. 光盘启动 检查光驱是否是开启启动,点击VMware右下角的小光盘图标处,点击它,此时会出现两个选项,选择“设置”选项,会弹出“虚拟机设置”对话框,看一下右侧的设置状态,要保证对勾都是打上的。
  2. centos 关闭欢迎页面 centos登录界面怎么关机_linux_07

  3. 将VMware的BIOS设置成光驱启动 先将centos系统关机,然后再VMware左侧选中这台虚拟机并右击,从中选择“电源”—“启动时进入BIOS”。
  4. centos 关闭欢迎页面 centos登录界面怎么关机_linux_08

  5. 进入BOIS后,按右键选着“BOOT”,然后按-号调节各个启动对象,选着CD-ROM让它在第一个启动,设置完后,按F10键保存退出。
  6. centos 关闭欢迎页面 centos登录界面怎么关机_centos 关闭欢迎页面_09

  7. 随后进入光驱启动界面,使用上下方向键选着“Troubleshooting”。
  8. centos 关闭欢迎页面 centos登录界面怎么关机_python_10

  9. 回车后,使用向下方向键选择Rescuel a CentOS Linux system。
  10. centos 关闭欢迎页面 centos登录界面怎么关机_python_11

  11. 连续敲两次回车,等几秒中,其中一些提示,它告诉我们,初始化系统在/mnt/sysimage下面,和单人模式/sysroot 类似,就是我们的原系统目录。
  12. centos 关闭欢迎页面 centos登录界面怎么关机_运维_12

  13. 这里我们选择第1项,输入数字“1”回车后,再次回车,它又一次告诉我们:初始化系统已经挂在到/mnt/sysimage下面,想要进入初始化系统下面,需要执行 chroot /mnt/sysimage命令。
  14. centos 关闭欢迎页面 centos登录界面怎么关机_linux_13

  15. 进入初始化系统后,执行命令passwd,修改root密码。
  16. centos 关闭欢迎页面 centos登录界面怎么关机_linux_14

  17. 退出救援模式 先使用ctrl+D 组合键退出原始系统,然后执行reboot命令即可 注意:将VMware光驱启动修改成硬盘启动。

三、 克隆centos

  1. 首先关闭正在运行的centos,执行命令:shutdown –h now 或者init 0。然后在右侧对应虚拟机名字上单击鼠标右键,选着“管理”,再选着“克隆”。
  2. centos 关闭欢迎页面 centos登录界面怎么关机_python_15

  3. 此时会出现“克隆向导”界面,直接下一步,按钮,再点击下一步按钮,会出现克隆类型“这里采用默认值,即选择”创建链接克隆”,这种类型会节省空间,比较方便。
  4. centos 关闭欢迎页面 centos登录界面怎么关机_linux_16

  5. 继续点击“下一步”按钮,这里可以设置克隆虚拟机名字,和保存路径,接着点击“完成”和“关闭”按钮,最终完成centos克隆。
  6. centos 关闭欢迎页面 centos登录界面怎么关机_centos 关闭欢迎页面_17


  7. centos 关闭欢迎页面 centos登录界面怎么关机_运维_18

  8. 打开克隆虚拟机centos7-02,修改IP,保存退出,然后使用命令dhlient获取IP,ifconfig查看IP是否变成了129.
  9. centos 关闭欢迎页面 centos登录界面怎么关机_linux_19

    centos 关闭欢迎页面 centos登录界面怎么关机_linux_20

  10. 为了容易区分两台centos,将两台主机名修改成,linux-128和linux-129。在第一台centos上运行命令:

hostnamectl set-hostname linux-128

或者修改主机名配置文件/etc/hostname,命令如下:

vi /etc/hostname

centos 关闭欢迎页面 centos登录界面怎么关机_运维_21

将原文件的内容修改成 linux-128 ,保存后,退出当前终端,可以使用ctrl+D,然后再登录一次,就发现主机名已经发生变化。第二台使用同样的方法,修改成linux-129.

centos 关闭欢迎页面 centos登录界面怎么关机_centos 关闭欢迎页面_22

centos 关闭欢迎页面 centos登录界面怎么关机_操作系统_23

四、 Linux系统相互登录

  1. 使用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登录。

centos 关闭欢迎页面 centos登录界面怎么关机_centos 关闭欢迎页面_24


这里符号前面@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)
  1. 前面讲过,putty和xshell可以用密钥登陆,linux之间登陆也可以使用密钥来登录。
  2. 客户端生成密钥对,我们先打开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).
  1. 将公钥复制到要登录的机器上 首先查看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”回车。

centos 关闭欢迎页面 centos登录界面怎么关机_操作系统_25


注意:检查Selinx是否关闭,查看命令:

# getenforce 
Disabled

如果之前没有设置过公钥,需要创建文件和设置权限:

#mkdir /root/.ssh/authorized_keys
#chmod 700 /root/.ssh/authorized_keys
  1. 在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