且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

更新时间:2022-09-16 14:26:12

单用户模式

单用户模式类似于windows的安全模式,进入单用户模式后可以更改root的密码,在工作忘记密码了就可以进入单用户模式进行更改。

 

进入单用户模式:

进入单用户模式之前先认识一些关机、重启的命令:

init 0 关机,init 6 重启 ,reboot 重启,shutdown  -r  now重启,shutdown -s now 关机,poweroff  关机。

需要进入单用户模式的话,需要在开机界面时随便按个按键进入以下界面:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


进入编辑后按方向键滑到最下面,接着按示例编辑内容:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


修改后:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


然后按Ctrl+x键重启进入单用户模式,这个时候就可以无需密码进入系统并且可以修改root密码了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


修改密码:

因为目前所在的环境就是一个安全模式,在内存系统里,还没有进入到我们原本的系统。这时候要修改root密码的话,需要切换到原本的系统里。输入chroot /sysroot/ 命令切换:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


这个时候才可以使用原来系统的命令,所以就可以使用passwd命令修改密码了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


接下来这一步操作是必须的,如果不进行这一步操作就会登录不了你的操作系统:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


进行完操作后就可以重启进入操作系统了,有两种方式重启系统:

1.使用虚拟机软件直接重启:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


2.输入以下命令重启:

exec  /sbin/init

 

重启成功后输入你的新密码登录:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

有一点要知道的是,单用户模式是无法在远程终端进入的,只能在物理机上进入。



运行级别:

CentOS7之前的系统版本有运行级别的,一共有7个运行级别,从到6级别。CentOS7则是没有这个概念的,可以按照以下命令查看7版本和6版本的一些差异:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录



救援模式:

Linux的救援模式相当于,Windowspe系统,pe是一种内存系统,救援模式下可以修改root密码。

  进入救援模式只能光盘启动,那个光盘就是安装此系统的iso镜像,需要先进入bios更改一下启动设置:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


进入到以下界面会有个提示,按1然后回车,之后的提示按回车就可以了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


需更改root密码需要使用chroot /mnt/sysimage/  命令进入到原本的系统模式下:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


然后就可以修改root密码了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

在救援模式下还可修改配置文件和一些数据。


退出救援模式:

1.exit退出到内存系统:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


reboot重启系统:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


能正常登陆就是没问题了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


然后别忘了进入bios里将启动顺序改回来:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


克隆虚拟机:

  克隆虚拟机就是原封不动的拷贝一个操作系统,当你需要两个或多个操作系统时就可以直接克隆某个正常的系统即可,就不需要去安装那么麻烦了,特别是需要装一些软件比如mysql什么的,只要在其中一台操作系统上安装好,然后将这个系统克隆出多个就可以免去安装的麻烦了。

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


克隆完成后需要将克隆的系统更改一下IP地址,不然两台操作系统同开启的话,会使用的同一个IP地址这样的话就会冲突:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


重启一下网卡服务:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


ifconfig看一下ip是否变了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


然后更改主机名,hostname命令可以查看主机名,hostnamectl set-hostname + 主机名称  命令可以修改主机名:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


退出重新进就会发新的主机名生效了:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


接着将原本的系统也修改一下主机名:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

查看主机名的配置文件:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录



Linux机器互相登录:

  使用Xshell先分别登录两个系统,然后再将两台机器连接起来:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


输入ssh命令连接另一台机器:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


w命令可以查看有哪些机器在连接:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


另一台也是同样的操作:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

这样就互相登录成功了。


ssh命令连接的默认端口是22,但是如果连接的机器不是22端口的话,也可以指定某个端口,而且ssh命令的完整写法是ssh usernam@IP,例如:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


使用密钥认证登录:

 在Linux上生成密钥对,使用ssh-keygen命令:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


查看公钥:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


然后把公钥内容保存到对方的机器上:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


查看一下selinux是否在打开状态:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录


  进行完以上操作后,再回到刚才那台机器进行登录,会发现不需要输入密码了,证明密钥认证成功:

Linux单用户模式、救援模式、克隆虚拟机与Linux机器互相登录







本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1953256,如需转载请自行联系原作者