[TOC]
113 单用户模式
忘记root密码的第一种方法:
- 单用户模式,系统启动那一刻选择,和Windows的安全模式有点像
重启命令
重启命令
reboot
init 6
shutdown -r now
关机
init 0
poweroff
这里我们在VM里面使用的是VM的电源重启,启动的时候需要一直按方向键
进入到这个界面后,选择上面一个
选择好后按E键进入到grub界面,grub是一个启动工具。简单讲grub是找到启动盘,grub找到启动盘引导启动程序。
接下来向下翻到linux16开头的那一行,并向左移动光标到ro(这里ro表示只读),更改 ro 为 rw (rw为读写,read 和 write),然后加上字符串
init=/sysroot/bin/sh(sysroot为原系统位置,这里输入时为了能输入命令改密码)
同时按住Ctrl 和 X,进入命令界面,类似安全模式,此时的命令为内存操作系统为原始系统,不是我们之前的系统
这里我们查看 /root/.ssh/authorized_keys里面的公钥可以看出,我们在目录之前还加上了/sysroot,通过chroot /sysroot 命令我们可以更换成我们之前的系统,这时我们就可以直接访问/root/.ssh/authorized_keys里面的公钥了
passwd root(更改密码)
由于不能显示中文出现方块乱码,我们Ctrl + C取消
LANG=en (更改显示为英文)
passwd root(再更改密码)
touch /.autorelbel(必须执行者这一步操作)
重启客户机,直接新密码登录就可以了
114 救援模式
忘记root密码的第二种方法:
救援模式
- 0 - 6 七个级别(CentOS6的)
0:关机
1:单用户模式
2、3、4:都是多用户模式(一般我们进入的是三级别)
5:图形界面(和3就差一个图形)
6:reboot(重启)
- 0 - 6 七个级别(CentOS7的)
与CentOS6的2级别不同的是,称之为救援模式
ls -l /usr/lib/systemd/system/runlevel*target(命令查看)
- 有时候grub也有密码,也不知道了,这是我们可以通过光盘或者U盘来进入到安装系统的界面来进行密码重置,先关机,然后编辑虚拟机,在CD/DVD选项中药勾选启动时链接,并一定要选中ISO文件
默认的是客户机启动,光驱在这时候不加载,我们选择启动时进入
BIOS就可以让机器首先加载光驱内容
我们通过左右方向键自动到Boot,上下方向键选中CD-ROM Drive,再通过键盘上的+键来让CD-ROM Drive上升到第一位
然后F10保存,回车键保存并退出
选择最后一项 Troubleshooting
我们选择 Rescue a CentOS system 回车,如果忘记grub密码只能进入到这个地方
进入界面,1:继续,2:只读挂载,3:跳过Shell,4:退出重启,这里我们选择1
按回车得到Shell
cat /mnt/sysimage/root/.ssh/authorized_keys(跟之前的单用户模式一样,这里我们查看我们的公钥)
chroot /mnt/sysimage/(更改为原来系统模式)
cat /root/.ssh/authorized_keys(查看公钥,发现和原来一样)
然后更改密码重启就可以了
关机重新进入BIOS更改启动顺序,F10回车就可以进入系统使用新密码了
115 克隆虚拟机
虚拟机关机过后选择,选择管理克隆
一直下一步到新建名称、选择位置,其中创建完整克隆会拷贝所有的文件,占用空间太大没有必要,最后完成即可。
启动克隆的虚拟机,登录进去后我们需要更改IP地址,不然会和之前的冲突。
vi /etc/sysconfig/network-scripts/ifcfg-ens33(编辑网络配置文件)
我们需要修改IP,
并且删除掉UUID那一项。
systemctl restart network.service(重启网络)
ifconfig(查看IP是否更改)
ping www.baidu.com(是否联网)
我们修改克隆机器的hostname,然后再开启另一台虚拟机并更改hostname
hostname(查看hostaname)
hostnamectl set-hostname Mylinux2(修改hostname为Mylinux2)
exit(退出再重新进就会看到主机名生效了)
同样的方法我们更改另外一台主机
cat /etc/hostname(hostname配置文件)
116 Linux机器相互登录
w(查看在线链接的偶哪些)
ssh 192.168.193.200 (链接克隆机Mylinux2)
输入密码就可以了
ssh username@ip(完整写法)
示例:ssh root@192.168.193.200
这里我们直接使用了ssh 192.168.193.200,链接的是物理机系统当前登录的用户。
ssh默认端口22
ssh -p 22 root@192.168.193.200(ssh指定端口,指定用户远程连接)
Linux秘钥启动,首先生成秘钥
[root@mylinux ~]# 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:
SHA256:lo1W1uwSAjQ6vbw2CmvdSTeMzpUEI4yMOzFE1wfRWLQ root@mylinux
The key's randomart image is:
+---[RSA 2048]----+
|o= +.+@o |
|+ + o=o=. o |
| + o.oE. + o |
|o o ..B o |
| . o+S.o . |
| o+* . |
| .. =++ . |
| .o.o=. |
| .. . |
+----[SHA256]-----+
[root@mylinux ~]#
[root@mylinux ~]# ls /root/.ssh/(查看.ssh下的文件)
authorized_keys id_rsa id_rsa.pub known_hosts
[root@mylinux ~]# cat /root/.ssh/id_rsa.pub (查看公钥)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDwz1wAwgd6S7BkMm/z4kSvUWxnNJLx0irnfVE87fjZsveIiJ/k1inEJXywOT3caQbkfeDuVLv81vXr/Tc4CYoWO+kWs7QSPc4LCEcNTvWduPQl48KK1MJBnxKdsD5AkU/sYsRsVefMFUg4zQwq9qhtEvGpnM8gQj9nrXDg3Y8sLn90nf6k9TVsC8YRuxD0rhGUV4rckOfrZtLB6AaPKszlZjrC1+4TQ7Mt7RdvuL3q/hxpewE3Pu+54DdVPu8VSdZT0FWPyQmmZlARcRuL7eEEe3Wtc7YXyRvljhsZSCPTWWF1/V77N/2lY9A1QAgsrRZzUoiExKlFL2NoHOS/8QV root@mylinux
[root@mylinux2 ~]# vi /root/.ssh/authorized_keys (复制公钥到文件)
[root@mylinux ~]# getenforce(查看是否开启防火墙)
Enforcing(开启状态)
[root@mylinux ~]# setenforce 0(临时关闭防火墙,重启过后还是会开启,永久关闭后面讲)
[root@mylinux ~]# getenforce
Permissive(关闭状态)