码迷,mamicode.com
首页 > 系统相关 > 详细

忘记root密码后怎么解决?克隆虚拟机后如何实现两台linux相互登录?

时间:2017-10-20 01:54:45      阅读:572      评论:0      收藏:0      [点我收藏+]

标签:克隆   登录   远程   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.

root@192.168.1.237‘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 root@192.168.1.237 ,命令w查看系统负载  如下图:

技术分享


小知识:ssh默认端口是22 ,从以上连接我们可以看出,我们是直接远程连接,假设有的机器端口不是22而是其它,那我们需要如何连接,可以输入命令:ssh -p 22 root@192.168.1.237

技术分享技术分享


使用密钥登录:


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 root@192.168.1.237

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相互登录?

标签:克隆   登录   远程   linux   

原文地址:http://taoxie.blog.51cto.com/10245493/1974371

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!