若是忘记了linux系统的root密码,有两种方法来修改root密码。linux
重启系统 重启系统,3秒后钟内按向下键 shell
按方向键移动光标,选着第一个行,而后按字母“e”编辑它,而后使用方向键移动光标定位到linux16开头的行。centos
按右键将光标移动到ro这里,把ro改为rw init=/sysroot/bin/bash 。 bash
而后同时按ctrl和x这两个键,等几秒,这样就进入了enmergency [ɪ'mɜːdʒ(ə)nsɪ] 模式(单人模式)。
注意:这个时候的系统不是咱们安装的centos系统,而是内存的一个系统,咱们要进入到原系统中。dom
切换到原系统 chroot /sysroot/ ssh
修改密码
passwd
ide
注意:密码修改完后还要建立一个文件。
touch /.autorelabel 这个文件一个要写对,不然更改的密码将不能生效。执行这一步是为了让SELinux生效,若是不执行,则咱们修改的密码是不会生效的,执行。 centos7
同时按Ctrl +D这两个键,再输入命令reboot 重启系统,等几秒就出现登陆界面,此时使用咱们的新密码登陆便可。.net
光盘启动 检查光驱是不是开启启动,点击VMware右下角的小光盘图标处,点击它,此时会出现两个选项,选择“设置”选项,会弹出“虚拟机设置”对话框,看一下右侧的设置状态,要保证对勾都是打上的。 code
将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光驱启动修改为硬盘启动。
首先关闭正在运行的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.
使用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