一、单用户模式


  • 重启指令 reboot init6 shutdown -r now (重启linux) 关机指令 init 0 poweroff

  • 右键选择虚拟机,选择电源,点击重启客户机(因为使用指令并不能在虚拟机上达到想要的重启效果,所以选择手动),点确定

  • 进入启动界面的一刻,点击方向键 停留在这个界面,然后根据下面的提示按字母E,进入grub界面(启动工具界面,主要是找到系统启动盘)

  • 进入grub界面后,方向键下键往下拉。

  • 找到linux16的这一行,方向键右键移动到 ro这一行

  • 将o删除,然后换为w 并写入init=sysroot/bin/sh (sh后面一定要加空格,不然密码修改无效) 并按照提示 Ctrl+X退出

  • 然后进入了安全模式界面,在这里可以输入指令,但不是linux的系统,所以我们要切换到linux系统 输入指令 chroot /sysroot 然后就进入了linux系统,这时候就可以修改你的root密码了。 输入指令 passwd root (这个地方可能输入后会出现乱码,要Ctrl+c停止以上命令,然后输入LANG=en 定义语言 就可以了) 重新填入密码 然后确认密码 这里尤其注意,在做完这些操作后 要输入 touch /.autorelabel 不然无法登录linux系统。

  • 然后继续手动操作,重启系统

  • 等待片刻后,进入linux操作系统,输入修改后的root密码,成功。

救援模式


  • 运行级别从0-6 0就是关机,1就是单用户模式, 2.3.4 是命令行下面的多用户模式。(我们进入的都是3)5是图形界面 和3就差一个图形。6就是reboot 重启 (这是sentos6之前的,7和之前有区别)
  • 输入老师说的代码查看,简单了解

  • init 0 重启虚拟机 点击编辑虚拟机设置,然后查看是否启动连接,不然不会加载光盘。(这个是确认自己的虚拟机状态)

  • 右键上方虚拟机,选择电源,选择启动时使用BIOS (选择启动时使用BIOS是因为让它启动时加载光驱,光驱是启动时第一加载对象,但是不手动选择,不会默认启动)

  • 进入BIOS,用方向键移动到boot 找到CD-rom 根据右边的提示使用+-符号把CD-rom移动到第一位置。

  • 移动到第一项后,按照提示F10保存退出 选择yes

  • 进入光驱启动界面,选择第三个选项,(就是进入救援模式)。然后又进入一个选择界面,选择第二项,(grub是可以设置密码的,如果没有grup密码只能选择这种方式进入光驱进行修改root密码)

  • 进入后回车再回车,出现和老师不同的界面,选择框内选项。

  • 跳过了选择,(视频中老师有选东西,这个就是和方框的提示一样的)然后直接出现了命令行,这个和刚才的单用户模式很像, 然后输入命令 chroot /mnt/sysimage/ 就可以修改密码了 输入指令 passwd root 然后修改root密码

  • 修改完毕后 点击下方的小光驱 设置,取消两个连接,启动时不让它连接,等于让它断电。即使光驱排在第一位也不影响我们。

  • 然后手动选择重启客户机就可以了。

这个不仅仅可以改密码,也可以说工作时 配置错了文件进不了系统,用这两个模式进入 修改,就可以进去了。


  • 输入新修改密码 登录 成功

克隆虚拟机


  • 在做实验的时候可能需要两台机器,从新装一个太麻烦,所以可以克隆一个
  • 克隆之前先关机

  • 右键点击虚拟机 然后选择管理,选择克隆

  • 按照步骤操作,克隆出一个新的虚拟机,(这里创建链接克隆就可以,完整克隆太占内存)

  • 创建完成,然后开机克隆的虚拟机,登录进去,修改一下ip 不然两台虚拟机ip地址一样的会冲突,使用命令 vi /etc/sysconfig/network-scripts/ifcfg-网卡 进去修改界面

  • 字母i进入编辑模式,更改一下ip地址,然后把UUID删除掉,不然会冲突,然后wq保存退出,

  • 重启网络 查看一下ip 然后ping 一下 看看是否联网

  • 输入命令 nostname 查看主机名 然后输入nostnamect了set-houstname yingxin2 修改主机名,退出从新登录,发现主机名已经生效

  • 进入第一个虚拟机修改一下名称,输入命令hostname(查看主机名) 输入houstnamectl set-houstname yingxin1 输入cat /etc/houstname 可以查看 其实这个命令就是直接改了配置文件的。

  • 然后使用xshell将两个虚拟机都连起来,首先先复制一个用户,然后进入属性修改ip地址(ip地址就是之前在虚拟机2修改的那个)

  • 修改后点确定,然后因为是复制的第一个虚拟机的,所以进去也已经验证密钥,

  • 然后回到linux界面,给yingxin2拍摄一个快照,这样实验出了问题也可以回到拍摄快照的时候。

Linux机器互相登录


  • 先用ssh +另一台虚拟机的ip地址 连接另一台机器, 输入密码连接成功,w -f 查看一下终端

用xshell连接,看着比较方便,w -f 查看 发现已经连接第二个


  • 远程命令 ssh+ip 标准写法 是ssh usernmame@ip
  • whoami查看当前用户名

  • ssh 默认连接的端口是22端口,不指定的话会默认连接22端口,也有例外,有的可能不是,我们可以ssh -p +指定端口(比如ssh -p 22 root@192.168.179.130) 这样就可以指定了。

  • 在xshell上使用了密钥认证,在两个linux之间也可以密钥认证,输入指令 ssh-keygen 用这个工具去生成密钥对,回车 1.表示的意思是可以存你的密钥对 一个公钥一个私钥存在哪里 存为一个文件。默认回车,不设置密码,继续回车 2.表示你的私钥,3.表示你的公钥。

  • 可以输入指令 ls /root/.ssh 查看,会出现两个文件,1就是私钥,2就是公钥。

  • 想通过这个机器登录另一台机器,就要把公钥放在另一台机器上, 输入指令 cat /root/.ssh/id_rsa.pub 拿到公钥,拉取复制。

  • 进入另一个虚拟机里,输入vi /root/.ssh/authorized_keys 进入后按字母i写一个名称标识,然后右键粘贴公钥, esc保存,wq保存并退出。

  • 由于重启了机器,selinux 是否开启状态,输入指令,getenforce
  • 如果出现的是Enforcing 证明是打开的。
  • 我们也可以关闭他,输入指令 setenforce 0 ,然后再输入 getenforce 查看,发现是Permissive 这就是关闭了,
  • 当然我们再重启,还是会发现打开,可以永久关闭它。后面会讲。

  • 回到另一个机器,输入指令,直接登录,也没有输入密码,这就是密钥认证。