修改root密码方式及克隆虚拟机

忘记root密码怎么办

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

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

一、 单用户模式

  1. 重启系统 重启系统,3秒后钟内按向下键输入图片说明

  2. 按方向键移动光标,选着第一个行,然后按字母“e”编辑它,然后使用方向键移动光标定位到linux16开头的行。

    输入图片说明

  3. 按右键将光标移动到ro这里,把ro改成rw init=/sysroot/bin/bash 。 输入图片说明

  4. 然后同时按ctrl和x这两个键,等几秒,这样就进入了enmergency [ɪ'mɜːdʒ(ə)nsɪ] 模式(单人模式)。
    输入图片说明 注意:这个时候的系统不是我们安装的centos系统,而是内存的一个系统,我们要进入到原系统中。

  5. 切换到原系统 chroot /sysroot/ 输入图片说明

  6. 修改密码
    passwd
    输入图片说明

  7. 注意:密码修改完后还要创建一个文件。
    touch /.autorelabel 这个文件一个要写对,否则更改的密码将不能生效。执行这一步是为了让SELinux生效,如果不执行,则我们修改的密码是不会生效的,执行。 输入图片说明

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

    输入图片说明

二、 救援模式

  1. 光盘启动 检查光驱是否是开启启动,点击VMware右下角的小光盘图标处,点击它,此时会出现两个选项,选择“设置”选项,会弹出“虚拟机设置”对话框,看一下右侧的设置状态,要保证对勾都是打上的。 输入图片说明

  2. 将VMware的BIOS设置成光驱启动 先将centos系统关机,然后再VMware左侧选中这台虚拟机并右击,从中选择“电源”—“启动时进入BIOS”。输入图片说明

  3. 进入BOIS后,按右键选着“BOOT”,然后按-号调节各个启动对象,选着CD-ROM让它在第一个启动,设置完后,按F10键保存退出。 输入图片说明

  4. 随后进入光驱启动界面,使用上下方向键选着“Troubleshooting”。 输入图片说明

  5. 回车后,使用向下方向键选择Rescuel a CentOS Linux system。 输入图片说明

  6. 连续敲两次回车,等几秒中,其中一些提示,它告诉我们,初始化系统在/mnt/sysimage下面,和单人模式/sysroot 类似,就是我们的原系统目录。 输入图片说明

  7. 这里我们选择第1项,输入数字“1”回车后,再次回车,它又一次告诉我们:初始化系统已经挂在到/mnt/sysimage下面,想要进入初始化系统下面,需要执行 chroot /mnt/sysimage命令。 输入图片说明

  8. 进入初始化系统后,执行命令passwd,修改root密码。 输入图片说明

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

三、 克隆centos

  1. 首先关闭正在运行的centos,执行命令:shutdown –h now 或者init 0。然后在右侧对应虚拟机名字上单击鼠标右键,选着“管理”,再选着“克隆”。输入图片说明

  2. 此时会出现“克隆向导”界面,直接下一步,按钮,再点击下一步按钮,会出现克隆类型“这里采用默认值,即选择”创建链接克隆”,这种类型会节省空间,比较方便。 输入图片说明

  3. 继续点击“下一步”按钮,这里可以设置克隆虚拟机名字,和保存路径,接着点击“完成”和“关闭”按钮,最终完成centos克隆。
    输入图片说明
    输入图片说明

  4. 打开克隆虚拟机centos7-02,修改IP,保存退出,然后使用命令dhlient获取IP,ifconfig查看IP是否变成了129.
    输入图片说明 输入图片说明

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

    hostnamectl set-hostname linux-128

    或者修改主机名配置文件/etc/hostname,命令如下:
    vi /etc/hostname
    输入图片说明 将原文件的内容修改成 linux-128 ,保存后,退出当前终端,可以使用ctrl+D,然后再登录一次,就发现主机名已经发生变化。第二台使用同样的方法,修改成linux-129.
    输入图片说明 输入图片说明

四、 Linux系统相互登录

  1. 使用Xshell登录主机名为linux-128,然后执行命令:

    [root@linux-128 ~]# ssh [email protected]   //第一次登录对方机器,有个提示	
    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.
    [email protected]'s password:
    

    然后输入192.168.88.129的root密码后,成功登录linux-129.
    注意,ssh –p 22 [email protected] 完整代码。-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)
    
  2. 前面讲过,putty和xshell可以用密钥登陆,linux之间登陆也可以使用密钥来登录。

  3. 客户端生成密钥对,我们先打开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).    
    
  4. 将公钥复制到要登录的机器上 首先查看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
    
  5. 在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

猜你喜欢

转载自my.oschina.net/u/3791387/blog/1630900